读取C中的文件内容,跟踪新行

时间:2015-10-07 07:17:06

标签: c scanf stdio file-pointer

我正在使用fscanf()使用EOF的循环从C中的数据文件中读取字符串。数据文件包含由任何空格分隔的字符串。在使用fscanf()读入字符串时,将检查它们是否存在任何无效信息。我需要跟踪项目所在的行号,以便在检测到无效项目时,将显示该项目的行号。就像我说的那样,数据文件不是每行一个字符串。有没有什么比读取所有内容更新,直到新行,将其拆分为单个字符串,并检查这些字符串?我可以确定文件指针当前指向的行号吗?

1 个答案:

答案 0 :(得分:3)

C I / O库中没有行号计数器。您需要自己跟踪行号。

我建议您使用fgets一次读取一行,每次递增行号计数器,然后使用sscanf从该字符串中读取项目。