2. Для работы с файлами используются
специальные типы данных, называемые
потоками.
Поток ifstream служит для работы с
файлами в режиме чтения.
Поток ofstream служит для работы с
файлами в режиме записи.
Поток fstream служит для работы с
файлами в режиме, как чтения, так и
записи.
3. В программах на C++ при работе с текстовыми файлами
необходимо подключать библиотеки iostream и
fstream.
Чтобы записывать данные в текстовый файл
необходимо:
Описать переменную типа ofstream
Отрыть файл с помощью функции open.
Вывести информацию в файл с помощью cout.
Обязательно закрыть файл.
4. Чтобы считывать данные из текстового файла необходимо:
1. Описать переменную типа ifstream
2. Отрыть файл с помощью функции open.
3. Считать информацию из файла с помощью cin, при
считывании каждой порции данных необходимо проверять, что
чтение возможно.
4. Закрыть файл.
5. Программа чтения из файла
1. #include <iostream>
2. #include <fstream>
3. using namespace std;
4. int main()
5. {
6. ifstream f("file.txt"); //создаем объект класса ifstream - f
7. //будем считывать 10 значений из файла
8. for (int i=0; i < 10; i++)
9. {
10. int v; // в эту переменную будем считывать значения
11. f >> v;
12. cout << v << endl;
13. f.close();
14. }
15. }
6. Программа записи в файл
1. #include <iostream>
2. #include <fstream>
3. using namespace std;
4. int main()
5. {
6. ofstream f("ofile.txt"); //создаем объект класса ofstream - f
7. //будем записывать 10 значений в файл
8. for (int i=0; i < 10; i++)
9. {
10. int v; // в эту переменную будем записывать значения с клавы
11. cin >> v;
12. f << v << endl;
13. f.close();
14. }
15. }
7. Если не знаем сколько в файле
значений#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("file.txt"); //создаем объект класса ifstream - f
//eof становится true, когда мы достигаем конца файла
//это надо, когда мы не знаем, сколько будет значений в файле
while (!f.eof()) //цикл выполняется, пока не конец файла
{
int v;
f >> v; // считывать из f
cout << v << endl;
}
f.close();
}
9. ifstream f("file.txt"); //создаем объект класса ifstream - f
while (true)
{
int v;
f >> v; // считывать из f
if (!f.eof())
cout << v << endl; //тогда вывести на экран
else
break;
}