-
Проблема с memset()
[code]int main(int argc, char* argv[])
{
char szBuffer[]="";
memset(szBuffer,0,1024);
printf("Hello World!\n");
return 0;
}[/code]
на memset(szBuffer,0,1024) выдаёт "неустранимую ошибку по адресу" или просто убивает прогу, причём в любой написанной программе. Может это с памятью у меня проблемы? Помогите, буду очень благодарен :D
-
да просто поменяй char szBuffer[]=""; char *szBuffer; или явно укажи szBuffer[1024] а потом забей нулями/
вообщем поиграйся с объявлением переменой szBuffer а memset тут не причем
а вообще для такой фигни new delete вроде можно пользоваться чесно говоря я уже подзабыл:)
-
Да не помогает ни в одном из случаев, уже пробовал. Что самое интересное вчера тот же код работал без проблем.
-
Если вчера все работало, надо было ничего не трогать, как в одном анеке советуется. А [b]shidox[/b], правильное тебе подметил: ты чего обнулять то надумал? Стек? Выделил бы сначала память под переменую.
-
А я ничего и не трогал. Вырубил комп а на следующий день такая лажа.
-
Извиняюсь, осознал ошибку.
[code]char szBuffer[1024];
memset(szBuffer,0,1024);[/code]
:D . Все работает.
-
у :)
потому как в объявлении
char szBuffer[]="";
под переменную выделяется всего 1 байт, потому как явно размер не указан :)