Чтение текстового файла

C++:
Чтение текстового файла

Как это сделать:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ifstream file("example.txt");
    std::string line;

    if (file.is_open()) {
        while (getline(file, line)) {
            std::cout << line << '\n';
        }
        file.close();
    } else {
        std::cout << "Невозможно открыть файл";
    }
    
    return 0;
}

Если example.txt содержит:

Привет, мир!
Это тестовый файл.

Вывод будет:

Привет, мир!
Это тестовый файл.

Глубокое погружение

В прошлые времена хранение и извлечение данных были достаточно обременительными. С появлением высокоуровневых языков программирования операции, такие как чтение из текстового файла, стали проще. C++ предлагает несколько способов чтения из файлов, используя потоки ввода/вывода, предоставляемые стандартной библиотекой.

Альтернативы для файлового ввода/вывода включают использование старых функций C (таких как fopen, fgets и т. д.), специфические для операционной системы API или другие библиотеки, которые абстрагируют некоторые низкоуровневые детали.

Когда мы говорим о деталях реализации, важно знать, что std::ifstream - это класс, который обрабатывает потоки ввода файлов. Ключевые функции включают is_open() для проверки успешного открытия файла, getline() для построчного чтения файла и close() для закрытия файла. Крайне важно правильно управлять ресурсами файла, чтобы избежать утечек или повреждения данных. К счастью, современный C++ (C++11 и более поздние версии) включает функции, такие как RAII, которые могут более безопасно управлять управлением ресурсами через сроки службы объектов.

См. также