PDA

Просмотр полной версии : Проблема с memset()



ahill
26.10.2004, 21:13
int main(int argc, char* argv[])
{
char szBuffer[]="";
memset(szBuffer,0,1024);
printf("Hello World!\n");
return 0;
}
на memset(szBuffer,0,1024) выдаёт "неустранимую ошибку по адресу" или просто убивает прогу, причём в любой написанной программе. Может это с памятью у меня проблемы? Помогите, буду очень благодарен :D

shidox
26.10.2004, 22:40
да просто поменяй char szBuffer[]=""; char *szBuffer; или явно укажи szBuffer[1024] а потом забей нулями/
вообщем поиграйся с объявлением переменой szBuffer а memset тут не причем
а вообще для такой фигни new delete вроде можно пользоваться чесно говоря я уже подзабыл:)

ahill
26.10.2004, 23:23
Да не помогает ни в одном из случаев, уже пробовал. Что самое интересное вчера тот же код работал без проблем.

Slaventius
27.10.2004, 08:19
Если вчера все работало, надо было ничего не трогать, как в одном анеке советуется. А shidox, правильное тебе подметил: ты чего обнулять то надумал? Стек? Выделил бы сначала память под переменую.

ahill
27.10.2004, 11:04
А я ничего и не трогал. Вырубил комп а на следующий день такая лажа.

ahill
27.10.2004, 13:15
Извиняюсь, осознал ошибку.

char szBuffer[1024];
memset(szBuffer,0,1024);
:D . Все работает.

Яр
27.10.2004, 13:18
у :)
потому как в объявлении
char szBuffer[]="";
под переменную выделяется всего 1 байт, потому как явно размер не указан :)