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