Fgets()只能读取一行(最后一行)

时间:2016-02-25 20:48:09

标签: c

嘿伙计我遇到fgets()的问题。它只是阅读我的程序的最后一行。所以我使用fgets得到的数据不正确。我试图存储该文件的子字符串。 (有道理?:/)

我知道它只读取最后一行,因为我已经完成了各种测试,看看它是否能找到一个子字符串,它只能在最后一行找到它。

CODE:

//Input
  FILE *ptr_file;


  //fclose(ptr_file);
    ptr_file =fopen("input.txt","r");
  char *fgets(file, ptr_file);
  if (!ptr_file)
     return 1;
{
      while (fgets(file,1000, ptr_file)!=NULL)   
     printf("%s\n",file);
}

1 个答案:

答案 0 :(得分:0)

您需要声明一个大小为1000的字符串来存储输入。

    char file[1000];

在FILE声明之前或之后。