Я новичок в C языке, и теперь застреваю с таким вопросом: почему я получаю странный результат, если я использую приведенное выше выражение для печати строки в файле?
Вот ситуация: у меня есть файл (data.txt) со следующим содержанием:
«Привет всем !!»
А вот мой код:
int main()
{
FILE *ptr = fopen("data.txt", "r");
if (ptr != NULL)
{
while (getc(ptr) != EOF) //print all contents in data.txt
printf("%c", getc(ptr));
}
else
printf("Open file failed.");
return 0;
}
Результат выполнения:
"el vroe!"
Если я сначала назначу getc(ptr)
переменной и проведу сравнение, все будет хорошо.
В чем разница между этими двумя методами?