C- Найти текущую строку моего открытого текстового файла - PullRequest
1 голос
/ 21 марта 2019

Мне нужно решение, чтобы найти текущую используемую строку в текстовом файле.Я открыл это с:

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

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Например, создайте переменную типа unsigned int и инициализируйте ее нулевым значением.

Затем каждый раз, когда вы читаете в новой строке, увеличивайте эту переменную на 1:

unsigned int currentLine = 0;
... 
// read line
currentLine++;
1 голос
/ 21 марта 2019

Чтобы отслеживать, какая строка в файле, содержащем строки текста, который вы сейчас обрабатываете, вы можете использовать переменную 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++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...