我正在使用 fscanf()
从 C 语言的数据文件中读取字符串,使用一个循环直到 EOF
。数据文件包含由任何空格分隔的字符串。当使用 fscanf()
读入字符串时,将检查它们是否存在任何无效信息。我需要跟踪项目所在的行号,以便在检测到无效项目时显示该项目的行号。就像我说的,数据文件不仅仅是每行一个字符串。有什么比读入新行的所有内容、将其拆分为单独的字符串并检查这些字符串更优雅的吗?我可以确定文件指针当前指向的行号吗?
最佳答案
C I/O 库中没有行号计数器。您需要自己跟踪行号。
我建议您使用 fgets
一次读取一行,每次增加行号计数器,然后使用 sscanf
从该字符串中读取项目。
关于c - 在 C 中读取文件内容,跟踪新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986013/