你好,我从文件中读取时遇到问题,我试图使用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);
}
我希望这段代码能够打印出我代码中的所有行,如果你能够纠正我的错误我会非常喜欢它
答案 0 :(得分:3)
我觉得你应该首先阅读其中的一些重要主题:
Trouble reading a line using fscanf()
Reading file using fscanf() in C
有很多理由说明你应该使用fgets或其他东西。
引用此place:
fscanf()是面向字段的函数,不适合在强大的通用文本文件阅读器中使用。它有两个主要缺点:
如果您知道要尝试读取的文件大小,可以使用面向块的fread()。