Я пытаюсь отлаживать следующий код:Показать результаты fgetc как символ на экране
int check_file(FILE* file)
{
int c;
int nl = '\n';
while((c = fgetc(file)) != EOF)
{
if (c == nl) return 0;
}
printf("\n ERROR EOF \n");
return 1;
}
, когда он получает сообщение об ошибке и возвращает 1, я хотел бы знать причину.
Я думал о печати на экране символа, который читается в переменной «c», прежде чем я получу ошибку (так что я могу понять, в какой части файла чтения находится ошибка), но это целое число.
Возможно ли как-то распечатать на экране как символ?
Благодаря
Можно ли показать позицию файла до того, как появится ошибка с точки зрения номеров LINE и COLUMN? – asdf
Скорее всего, вы получаете 'return 1;' потому что в вашем файле нет новой строки. Это само по себе не обязательно означает «ошибка». Вы уверены, что ваши файлы имеют хотя бы одну новую строку? Попробуйте добавить проверку 'if ferror (file) printf (" ferror \ n ");' before 'return 1;', чтобы увидеть, действительно ли была ошибка. –