在C中,如何逐行打印出txt文件?

纳特·安德烈·西弗顿(KnutAndréSyversen)
int main()
{
   FILE *infile;
   FILE *infile2;
   char input[255],input2[255];
   int status1, status2;

   infile = fopen("test.txt", "r");
   infile2 = fopen("test2.txt", "r");
   if(infile == NULL)
   {
      printf("Can not open file 1!\n");
   }
   else if(infile2 == NULL)
   {
      printf("Can not open file 2!\n");
   }
   else
   {
      do
      {
        status1 = fscanf(infile, "%s", &input);
        status2 = fscanf(infile2, "%s", &input2);

        printf("File 1: %s\n File 2: %s\n", input, input2);
     }while(status1 != -1 || status2 != -1);
   }
   fclose(infile);
   fclose(infile2);

   return 0;
}

我的输出如下所示:

输出量

我想一行一行地打印出文件1,而不是逐字地打印出来。file2也是如此。我对C有点陌生,所以被卡住了。

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

如果您想阅读整行,请使用fgetsfunction而不是fscanf

char *status1, *status2;
   .
   .
   .
do {
    status1 = fgets(input, sizeof(input), infile);
    status2 = fgets(input2, sizeof(input2), infile2);
    printf("File 1: %s File 2: %s", input, input2);
} while (status1 || status2);

注意如何printf不再使用\n这是因为fgets\n文件保留在输入字符串中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章