获取文件的行号
答
在标准文件流的上下文中没有光标。有一个文件指针,但不是一个游标。光标是控制台/终端驱动程序的概念。即使使用文件指针,通常也不会在线路模式下使用它们,它们用于随机访问/二进制类型访问。您可以在文本模式下查找文件的开头和结尾。但是fseek不是“线或光标”,所以不要使用它。
您只需跟踪您用整数读取的行数。
int line = 0;
while((fgets(...)) != NULL) {
line++;
...
if(...) {
// store line number wherever you need it
printf("found at line %d\n", line);
}
}
你是什么意思*光标*?如果它是文件指针,当用'fgets()'读取时使用行计数器就足够了? – 2014-10-31 16:00:39
假设,'如果(strncmp(ioarea,“ABC”,3)== 0)'在这种情况下我想存储行号。计数器给我在一个文件中的“ABC”的计数,但不是每个fgets()的“ABC” – Aravind 2014-10-31 16:05:28
的行号增加一个计数器(从0开始),然后检查条件。如果条件成立,则保存行号。 – user3629249 2014-11-01 05:06:32