【问题标题】:How can i get every line of a text file separately using C [duplicate]如何使用 C 分别获取文本文件的每一行 [重复]
【发布时间】:2017-05-19 04:55:41
【问题描述】:

假设我有一个包含此内容的文本文件:

this is the first line . 
this is the second line . 
this is the third line .

我的意思是将每一行放在一个单独的字符串变量中。

我试过这样的东西

   do { fgets(ch,1000,f);printf("%s \n",ch); } while(strlen(ch)!=0); 

其中“f”是指向我的文件的指针,并且是我的字符串变量。

【问题讨论】:

  • 我正在尝试获取每一行并在其上“单独”应用其他功能,而不是在控制台上显示文本文件的全部内容。
  • 使用 malloc 或 realloc。
  • 使用char* 指针数组。将每一行读入一个数组,使用malloc()分配一个字符串来保存内容,复制字符串,并将指针放入数组中。
  • 您自己的尝试应该可以工作(对于少于 999 个字符的行),但是更改测试以检查 fgets 本身的返回结果。

标签: c


【解决方案1】:

如果你想使用 fgets(),你可以尝试类似的方法:

char ch[999];   
FILE * f;
f = fopen( "test.txt" , "r");
if (f) 
{
    while(fgets(ch, sizeof(ch), f) != NULL)
    {
        printf("%s", ch);
    }
    fclose(f);
}

那么你就可以随意使用变量ch了。

【讨论】:

猜你喜欢
  • 2018-02-05
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 2016-08-03
  • 2013-07-04
  • 1970-01-01
相关资源
最近更新 更多