Сегодня на моем канале продолжение изучения стандартных библиотек C++.
Весь мой канал Old Programmer здесь:
А здесь ссылки на другие статьи по стандартным библиотекам C++:
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.
#программирование #программисты #с++ #си #языки программирования