Similar presentations:
Запись в файл. Чтение из файла. Занятие 3
1.
Запись в файл. Чтение из файла.Продолжающая
Занятие 3
28.02.23
2.
Библиотеки для работы с чтением и записью файловifstream
ofstream
(для чтения с файла)
(для записи в файл)
fstream
(совмещает запись и чтение)
Для работы с файлами в стандартной библиотеке определен заголовочный
файл fstream, который определяет базовые типы для чтения и записи файлов.
3.
Запись в файл#include <fstream>
Создаем объект типа ofstream с именем fout(file out).
ofstream fout;
Далее чтобы начать работу с файлом – необходимо создать
или открыть его. Для этого пишем имя объекта и выбираем
метод open.
fout.open("myFile.txt");
Далее необходима проверка открытия файла, используя
функцию is_open.
if (!fout.is_open())
cout << "Opening Error" << endl; Для того чтобы записать текст в файл пишем имя объекта
else
который мы создали (fout) и как обычно мы выдавали в
{
консоль передаем текст.
fout << "Hello!";
}
fout.close();
В конце необходимо закрыть файл
4.
Запись в файл. Дополнительноfout.open("myFile.txt");
fout.open("D:\\hello.txt");
Имя и расширение будущего файла обязательно
должно задаваться строкой, но можно задать его и в
отдельной переменной имя которой мы, например,
зададим с клавиатуры. Или можно прописать весь путь
если хотим, чтобы файл сохранялся не в папку с проектом.
Для того, чтобы файл не форматировался при каждой
fout.open("myFile.txt",ofstream::app); новой записи добавим метод ofstream::app. С его
помощью текст каждый раз будет записываться в конец.
5.
Чтение из файла#include <fstream>
Создаем объект типа ifstream с именем fin.
ifstream fin;
Далее чтобы начать работу с файлом – необходимо открыть
его. Для этого пишем имя объекта и выбираем метод open.
fin.open("myFile.txt");
Далее необходима проверка открытия файла, используя
функцию is_open.
if (!fout.is_open())
cout << "Opening Error" << endl;
else
{
char ch;
while (fin.get(ch))
{
cout << ch;
}
Для того чтобы прочитать текст в файле пишем имя объекта
который мы создали (fin) через цикл while по символу
вытаскиваем весь текст.
Метод работает таким образом, то если у него получилось
что-то считать, то он возвращает true, если нет – false.,
}
fin.close();
В конце необходимо закрыть файл
6.
Чтение из файла. Методыfin.eof()
Метод поиска конца файла. Возвращает true, когда доходит до конца.
getline(fin, str);
Функция getline() считывает строку и передает ее в переменную str.
string str;
while (!fin.eof())
{
str = "";
fin >> str;
cout << str << endl;
}
Способ пословной выдачи текста. Str записывает в себе данные
до первого пробела, а после перезаписывается. Данный метод
считывает только данные (игнорирует пробелы переходы на новую
строку и пр.) Если последняя строка будет пустая – он дублирует
предыдущую. Для того чтобы это не происходило – нужно обнулять
переменную str.
#include <string>
string str;
while (!fin.eof())
{
str = "";
getline(fin, str);
cout << str << endl;
}
Метод построчного считывания. Не работает без подключения
работы со строками. Считывает строку в переменную str, выдает и
перезаписывается
7.
Домашняя работа:Devoir:
Homework:
Сделать программу для построения любых введённых с клавиатуры графиков.
Которая в результате будет формировать файл с расширением .dat для работы в
приложении Графер.
Make a program for plotting any graphs entered from the keyboard. Which as a
result will form a file with the extension .dat for working in the Grapher application.