Почему данный код вызывает падение программы (отличается только наличием %s символа)
char test1[2048]="";
strcat(test1,"Какой-то то текст %s\n");
данный код ошибок не вызывает
сhar test1[2048]="";
strcat(test1,"Какой-то то текст \n");
компилятор - mingw64
Включив режим телепатии и ясновидения :), думаю, что в программе на самом деле этим дело не заканчивается, и дальше идет что-то вроде
char test1[2048]="";
strcat(test1,"Какой-то то текст %s\n");
printf(test1);
И вот тут оно и сыпется, пытаясь обратиться к какой-то случайной памяти из-за наличия %s
, для которого не передан аргумент.
Если хотите посмотреть, что в строке test1
- выводите ее или с помощью puts()
, или printf("%s\n",test1);
.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть клиенты на C++, которые транслируют кадры с веб-камер на HTTP-серверНекоторые камеры отдают перевёрнутые кадры, и нужно программно анализировать...
В С есть тип longСогласно: Wiki c-types он занимет в памяти 4 байта, да и диапазон значений у него такой же как и у int