C-找到我打开的文本文件的当前行

时间:2019-03-21 18:50:47

标签: c file data-manipulation

我需要一个解决方案来在文本文件中找到当前使用的行。 我用以下方式打开它:

FILE *fp;
fp=fopen(“data.txt”, “ r+“);

2 个答案:

答案 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++;