在c中逐行读取文本文件

时间:2017-11-05 22:34:05

标签: c

我尝试逐行读取我编写前三行的文件。但是,它进入无限循环。如何在文件末尾停止它?

while(fscanf(infile, "%[^\n]", ch) != EOF)
   printf("%s", ch);


Tiffany;Evans Smith;F;22/01/1989;
Alex;Williams;M;23/06/1988;
Clay;Bristol;F;30/12/1989;

2 个答案:

答案 0 :(得分:0)

有多种方法可以逐行读取文本文件。希望以下代码能够回答您的问题。

  #include<stdio.h>
  #include<stdlib.h>

 int main()
 {
   FILE *infile;
   char data[BUFSIZ];

   infile=fopen("filename","r");

   while((fgets(data,BUFSIZ,infile)!=NULL))

  puts(data);
}

答案 1 :(得分:0)

如果你想使用fscanf,你可以使用这段代码:

RewriteCond %{LA-U:REQUEST_FILENAME}.php -f
RewriteRule !\.php$ %{LA-U:REQUEST_FILENAME}.php [L]

这里,int ret是:

  • EOF,如果指针到达文件末尾。
  • 0,如果没有输入与变量匹配
  • &gt; 0,带文件输入的匹配变量数