从文件中读取

时间:2010-08-20 23:04:58

标签: c file-io

你好,我从文件中读取时遇到问题,我试图使用fscanf()从文件中读取,我似乎无法解决它。 我尝试逐行读取文件并将字符串放在变量(缓冲区)中,但我无法理解while循环是如何看起来像 提前谢谢

我想要读取的文件是这种格式的txt文件:第一行:“1234,abc等”第二行:“2432,fjh等”以及更多像我想要的那些行使用fscanf方法为了在每个循环中放入所有行,在我的字符串变量中说“1234,abc,etc”等等,直到我没有更多的行来读取

这是我到目前为止设法收集的内容(ofc它不是当前编写它的方式):

char* buffer[100]; 
while (fscanf(FILE *finput,"%s",buffer)!=something) 
{ 
    printf("%s",buffer); 
}

我希望这段代码能够打印出我代码中的所有行,如果你能够纠正我的错误我会非常喜欢它

1 个答案:

答案 0 :(得分:3)

我觉得你应该首先阅读其中的一些重要主题:

Trouble reading a line using fscanf()

Reading file using fscanf() in C

fscanf multiple lines [c++]

有很多理由说明你应该使用fgets或其他东西。

引用此place

fscanf()是面向字段的函数,不适合在强大的通用文本文件阅读器中使用。它有两个主要缺点:

  • 您必须事先知道输入文件的确切数据布局,并为每个不同的布局重写函数调用。
  • 读取包含空格的文本字符串很困难,因为fscanf()将空格字符视为字段分隔符。

如果您知道要尝试读取的文件大小,可以使用面向块的fread()。