為什么最后一行輸出兩次?謝謝!

uj5u.com熱心網友回復:
判斷一下fgets回傳值,讀到EOF時會回傳NULL,然后break出回圈就好了~uj5u.com熱心網友回復:
先判斷回傳值再列印,再while判斷 feofuj5u.com熱心網友回復:
修改一下,這樣看看行不行?#include <stdio.h>
int main(void)
{
FILE *fp;
char buf[BUFSIZ];
if((fp = fopen(__FILE__, "r")) == NULL)
{
perror("fopen");
return 1;
}
while(!feof(fp) && fgets(buf, BUFSIZ, fp))
{
printf("%s", buf);
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/214419.html
標籤:C語言
上一篇:詢問fgets和gets的問題。
下一篇:c語言指標與結構體
