我的程序从infile中读取最后一行数据时会读取两次。当我执行程序时,最后一行数据会被打印两次。请帮帮我!这是代码:
while ( !feof ( in ) ) {
//fread();
}
我希望这是由于
feof
功能而发生的。我不想使用
fgets
或getline
。还有其他方法吗?请指导我。感谢所有回复我的人!我已经找到了解决方案!我在
do
循环中使用了fgetc
和unfgetc
。以下是代码:
int ch;
ch=fgetc(fp);
do
{
ungetc(ch,fp);
//fread();
ch=fgetc(fp);
} while( (ch = fgetc(fp)) != EOF && ch != '\n' );