C++ для новичков: работа с файлами (fstream)

Подключение необходимой директивы

Для работы с файлами необходимо подключить директиву fstream (file stream). Этот модуль обеспечивает возможности записи и чтения данных из файлов.

Запись данных в файл

Для записи информации в файл создаётся объект класса ofstream (output file stream). Этот класс позволяет открывать файл, записывать в него данные и закрывать его.

Создадим объект, например, file, и при его создании укажем параметры:

ofstream file("test.txt", ios::out);

Первый параметр — имя файла («test.txt»). Если файла не существует, он будет создан. Если файл уже существует, он будет открыт для перезаписи.

Второй параметр (ios::out) указывает на открытие файла для записи.

Важно проверить успешность открытия файла:

if (file.is_open()) {
  // Код для работы с файлом, если он открыт
}

file.is_open() возвращает true, если файл успешно открыт, и false в противном случае.

Если файл открыт, можно записывать в него данные, используя оператор <<, аналогично cout:

file << "Hello world!" << endl;

После работы с файлом обязательно закройте его:

file.close();

Это освободит ресурсы оперативной памяти. Не закрытие файла может привести к ошибкам и нестабильной работе программы.

Чтение данных из файла

Для чтения данных из файла создадим объект класса ifstream (input file stream):

ifstream file("test.txt");

Здесь второй параметр не нужен, так как файл всегда открывается для чтения.

Считывание данных осуществляется аналогично cin, но вместо cin используется объект file. Для считывания всей строки используем функцию getline():

char temp[100];
if (file.is_open()) {
  file.getline(temp, 100);
  file.close();
  cout << temp << endl;
}

getline() считывает до 100 символов или до символа новой строки. Результат выводится на экран. Для считывания по одному слову можно использовать оператор >>:

string temp;
if (file.is_open()) {
  file >> temp;
  file.close();
  cout << temp << endl;
}

Эта конструкция считывает только первое слово.

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

Что будем искать? Например,программа