Создание и чтение файлов в C++
В сегодняшней статье мы рассмотрим, как создать и прочитать данные из файла в С++. И для работы с файлами в С++ существует библиотека кода fstream.
Чтобы использовать библиотеку fstream, подключите как стандартный файл , так и заголовочный файл :
#include <iostream>
#include <fstream>
В библиотеку fstream включены три класса, которые используются для создания, записи или чтения файлов:
Описание класса
ofstream - Создает и записывает в файлы
ifstream - Читает из файлов
fstream - Комбинация ofstream и ifstream: создание, чтение и запись в файлы.
Создание и запись файла
Чтобы создать файл, используйте класс ofstream или fstream и укажите имя файла.
Для записи в файл используйте оператор вставки (<<).
Пример:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// создание и открытие текстового файла
ofstream MyFile("filename.txt");
// Запись в файл
MyFile << "Hello, from Myrusakov!";
// Закрытие файла
MyFile.close();
}
Почему мы закрываем файл?
Это считается хорошей практикой и может очистить ненужное пространство памяти.
Чтение из файла.
Для чтения из файла используйте класс ifstream или fstream и имя файла.
Обратите внимание, что мы также используем цикл while вместе с функцией getline() (которая принадлежит классу ifstream) для чтения файла построчно и для печати содержимого файла:
// Создание строковой переменной, для вывода содержимого файла
string myText;
// Чтение из текстового файла
ifstream MyReadFile("filename.txt");
// Использование цикла while совместно с функцией getline() для построчного чтения файла
while (getline (MyReadFile, myText)) {
// вывод текста из файла
cout << myText;
}
// Закрытие файла
MyReadFile.close();
Таким образом, мы создали и прочитали данные из файла в C++.
-
- Михаил Русаков
Комментарии (1):
Есть один вопрос: а что, если в файл записывается непонятный набор символов? Что то на подобии этого: ⁶⸰〰〰〰〠〮〠〮⁶⸰〰〰〰〠〮〠〮⁶⸰〰〰〰〠. Я пытаюсь записать примерно вот такие данные: "v 0.5 0.0 0.0".
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.