У меня есть цикл, который выглядит примерно так:
while(condition){
read_some_data(source, buf, BUFSIZE);
printf(buf);
memset(buf, 0, BUFSIZE+1);
//do stuff to affect condition that does not touch buf
}
buf
- это массив символов размером BUFSIZE+1
.Странно то, что если я закомментирую printf
, программа будет работать без ошибок сегментации.Только когда я пытаюсь распечатать buf
, я получаю проблему.Кроме того, ошибка сегмента не обязательно происходит на первой итерации цикла.Обычно это занимает 6 или 7 итераций.
Кроме того, в этой программе нет динамического выделения памяти.