«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как перейти к определенной строке текстового файла с помощью C++?

Как перейти к определенной строке текстового файла с помощью C++?

Опубликовано 11 ноября 2024 г.
Просматривать:644

How to Jump to a Specific Line in a Text File Using C  ?

Навигация по строкам текстового файла в C

При работе с текстовыми файлами с использованием C вы можете столкнуться с необходимостью перейти к определенной строке. Хотя в C для этой цели нет прямого метода, вы можете добиться этого, просматривая файл до тех пор, пока не дойдете до нужной строки.

Цикл к определенной строке

Решение включает использование цикла для подсчета строк до тех пор, пока не будет достигнут целевой номер строки. Этот метод продемонстрирован во фрагменте кода ниже:

#include 
#include 

std::fstream& GotoLine(std::fstream& file, unsigned int num){
    file.seekg(std::ios::beg);
    for(int i=0; i ::max(),'\n');
    }
    return file;
}

Функция GotoLine устанавливает указатель поиска файлового потока в начало указанной числовой строки.

Тестирование кода

Для иллюстрации Для этого метода рассмотрим текстовый файл со следующим содержимым:

1
2
3
4
5
6
7
8
9
10

Следующая тестовая программа демонстрирует, как перейти к строке 8 и прочитать ее содержимое:

int main(){
    using namespace std;
    fstream file("bla.txt");

    GotoLine(file, 8);

    string line8;
    file >> line8;

    cout 

Вывод:

8

Реализуя циклический подход, вы можете легко перейти к любой конкретной строке в текстовом файле и получить доступ к ее содержимому в C .

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3