Моя программа дважды читает последнюю строку данных из infile. Когда я запускаю программу, последняя строка данных печатается дважды. Помогите мне, пожалуйста! Вот код,
while ( !feof ( in ) ) {
//fread();
}
Я надеюсь, что это происходит из-за функциональности feof
.
Я не хочу использовать fgets
или getline
. Есть ли другой способ? Пожалуйста, направьте меня.
Спасибо всем, кто мне ответил! Я получил решение для этого! Я сделал с fgetc
и unfgetc
в стороне от петли do
.
Вот код:
int ch;
ch=fgetc(fp);
do
{
ungetc(ch,fp);
//fread();
ch=fgetc(fp);
} while( (ch = fgetc(fp)) != EOF && ch != '\n' );