Найти в Дзене
Old Programmer

Язык программирования C++. Стандартные библиотеки (fstream, статья 1)

Сегодня на моем канале продолжение изучения стандартных библиотек C++.

Весь мой канал Old Programmer здесь:

Список разделов канала Old Programmer, канала о программировании и программистах
Old Programmer27 мая 2021

А здесь ссылки на другие статьи по стандартным библиотекам C++:

Библиотеки C++. Список ресурсов
Old Programmer26 января 2022

C++. Файловый ввод-вывод

Несколько статей посвятим работе с файлами. Сегодня первая статья по теме файловый ввод-вывод. Для файлового ввода-вывода следует подключить библиотеку fstream. Соответственно в ней нам понадобятся объекты классов ifstream для чтения из файла и ofstream для записи в файл.

Первый пример (программа cpp6.cpp) вывода содержимого текстового файла на консоль.

Пояснения к программе cpp6.cpp.

  • Для чтения из файла используется объект класса ifstream. При создании объекта можно сразу указать имя файла, который будет открыт (по возможности). Можно, конечно, поступить и по-другому, открыть файл с помощью метода open(). По умолчанию файл открывается дл чтения.
  • Очень полезен метод is_open(), с помощью которого можно проверить удалось ли открыть файл.
  • Одним из способов чтения из файла является использование метода read(). В нем указывается адрес буфера и количество байтов, которые требуется считать. Конечно, это максимальное значение. Чтобы узнать сколько считано байтов используем метод gcount(). Это важный момент, потому что, если считано количество байтов, меньшее чем указано в read(), то это означает, что это последние байты и процесс чтения можно заканчивать. После каждого чтения указатель переноситься на количество считанных байтов в сторону конца файла, так что-бы затем считать следующею порцию байтов.
  • Для закрытия открытого файла используется метод close().

Следующая программа cpp7.cpp показывает как можно скопировать файл в другой. Имена входного и выходного файла должны быть указаны в виде параметров командной строки.

Пояснение к программе cpp7.cpp.

  • Как открывать файл для чтения было уже описано. Для открытия файла для записи используется объект класса ofstream. При этом второй не обязательный параметр ios::out указывает, что файл будет открыт для записи.
  • Для чтения из файла на этот раз используется метод get(), который читает один байт из файла и передвигает указатель к следующему байту.
  • Метод eof() проверяет не зашел ли указатель за границу файла.
  • Для записи в файл используется метод write() указателем адреса переменной и количества записываемых байтов.

Пока все

Продолжение следует...

Пока, любители великого и ужасного языка C++. Подписываемся на мой канал Old Programmer.

Фрагмент программы cpp7.cpp
Фрагмент программы cpp7.cpp

#программирование #программисты #с++ #си #языки программирования

Рекомендуем почитать