我正在读取文件,并希望在特定条件下存储行号。
我知道fgets
用于读取该行,是否有任何方法可以存储/获取光标所在的行号。
答案 0 :(得分:4)
标准文件流的上下文中没有游标。有一个文件指针,但不是光标。游标是控制台/终端驱动程序的概念。即使使用文件指针,通常也不会在行模式下使用它们,它们用于随机访问/二进制类型访问。您可以在文本模式下查找文件的开头和结尾。但是fseek并不是“行或光标”,所以不要使用它。
您只需跟踪一个整数读取的行数。
int line = 0;
while((fgets(...)) != NULL) {
line++;
...
if(...) {
// store line number wherever you need it
printf("found at line %d\n", line);
}
}