我需要一个解决方案来在文本文件中找到当前使用的行。 我用以下方式打开它:
FILE *fp;
fp=fopen(“data.txt”, “ r+“);
答案 0 :(得分:1)
要跟踪包含当前正在处理的文本行的文件中的哪一行,可以使用count变量。这是一个简单的例子
while (fgets(buffer, BUFLEN, fp) != NULL)
{
printf("Line %d: %s", line, buffer);
if (buffer[strlen(buffer)-1] != '\n')
// fgets didnt read an entire line, so increment the file pointer to
// the start of the next line. also, output the newline since it wasn't
// part of buffer above
{
int ch;
do
{
ch = fgetc(fp);
}
while (ch != '\n' && ch != EOF);
putchar('\n');
}
line++;
}
答案 1 :(得分:1)
例如,创建一个类型为unsigned int的变量,并将其初始化为零。
然后每次您换行时,将此变量加1:
unsigned int currentLine = 0;
...
// read line
currentLine++;