Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sardinka
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 87
#1

Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL); - C++

16.07.2008, 00:10. Просмотров 832. Ответов 2
Метки нет (Все метки)

Cho ne pravilno v sledyushem code:
#define ALL;
........
ClearBuffer(Buffer,sizeof(Buffer));
WRITE(Buffer,test,20,ALL);
............
Gde test eto string 20 char long.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2008, 00:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Где ошибка: ClearBuffer(Buffer,sizeof(Buffer)); WRITE(Buffer,test,20,ALL); (C++):

Fwrite (buffer , sizeof(char), sizeof(buffer), pFile) - C++
как записать часть массива чаров? допустим у нас arr; мне надо записать с позиции массива 500 до 600, 100 байтов как записать эту...

Ошибка: CRT detected that the application wrote to memory after end of heap buffer - C++
После заполнения структуры, из консоли, появляется ошибка об утечке памяти. Объясните, пожалуйста, где я допустил оплошность? ...

Buffer Overrun Issues - C++
Собственно, запустил раз - все работает, два - уже не работает, танцы с бубном пробовал(серьезно) вот код: #include <fstream> ...

Memcpy, buffer overflow. Может ли возникнуть ошибка в функции memcpy - C++
Бывает ли на практике такое, что код #define size 1000; // some value int x, y; /* ... */ memcpy(y, x, (size + 1) * sizeof(int)); ...

В цикле после 100 итерации ошибка исполнения "Buffer too small" - C++
код такой: for (int i = 1; i <= 256; i++) { cout << GetVal(i) << ","; } GetVal(i) это string. на 100 итерации падает с ...

Strcpy_s выдает ошибку buffer is too small - C++
Вот у меня есть пример простого кода, но почем-то в месте, где вызывается функция копирования, вылезает ошибка. Вроде все делаю правильно: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
daxter
Сообщений: n/a
17.07.2008, 02:33 #2
Вот это не правильно:
#define ALL;
После диррективы #define НЕ НАДО ';'!
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
17.07.2008, 04:19 #3
Привет !

Абсолютно согласен с автором предыдущего ответа, но неправильна не точка с запятой, а интерпретация самого #define, и вообще непонятно чего автор хочет добиться таким кодом ...
Код
#define SYMBOL 100
cout << 'Типа символ SYMBOL эквивалентен ' << SYMBOL << endl;
Таким образом я говорю препроцессору что в коде может присутствовать символ SYMBOL и его надо заменить на 100.
если же так:
Код
#define SYMBOL
cout << 'Типа символ SYMBOL эквивалентен ' << SYMBOL << endl;
// В конечном счёте это приведет либо к выводу пустой строки, либо к ошибке в зависимости от компилятора.
То юзать его можно только в качестве того что символ описан, из текста программы он будет изъят.
Текст из MSDN:
Syntax #define
#define identifier token-stringopt
...[skipped] ...
A #define without a token-string removes occurrences of identifier from the source file. The identifier remains defined and can be tested using the #if defined and #ifdef directives.

И всё!
P.S. Точка с запятой скорее всего приведёт к ошибке в тексте программы при подстановке макроса.

С Уважением Andir !
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2008, 04:19
Привет! Вот еще темы с ответами:

Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer" - C++
В конце программы выскакивает окно с ошибкой - &quot;CRT detected that the application wrote to memory after end of heap buffer&quot; class...

Crt detected that the application wrote to memory after end of heap buffer - C++
#include &lt;iostream&gt; using namespace std; class Vector { private: int size; double *vector; public: Vector() {

CRT detected that the application wrote to memory after end of heap buffer - C++
Программа добавляет и удаляет строки и столбцы динамического массива, но если сначала удалить что-то, а потом добавить то выскакивает такая...

CRT detected that the application wrote to memory before start of heap buffer - C++
эта ошибка из-за того, что я потом дополняю массив макс+1 элементом? и как можно исправить? #include&lt;iostream&gt; #include&lt;iomanip&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru