如果我不知道文件中的内容,我应该如何阅读内容并存储由空格分隔的不同部分?

时间:2016-10-30 02:25:26

标签: c scanf

这里我有一个关于在c中读取文件的例子。例如,如果我在计算机上有一个名为“file”的文件,其中包含一些字符串“a b c”。如果我想打印出来,我可以使用下面的代码。

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

int main()
{
   char str1[10], str2[10], str3[10];
   FILE * fp;

   fp = fopen ("file", "r");

   fscanf(fp, "%s %s %s", str1, str2, str3);

   printf("|%s| ", str1 );
   printf("|%s| ", str2 );
   printf("|%s| ", str3 );

   fclose(fp);

   return 0;
}

它将打印“| a | | b | | c |”。

如果我不知道文件中字符串的长度怎么办? 所以,如果我在文件中有“a b c d”或“a b”。我该如何阅读文件中的内容并将其打印出来?

1 个答案:

答案 0 :(得分:0)

你可以使用适合你的malloc http://man7.org/linux/man-pages/man3/getdelim.3.html。例子在男人的末尾