ݺߣ

ݺߣShare a Scribd company logo
Работа с файлами в С++
Для работы с файлами используются
специальные типы данных, называемые
потоками.
 Поток ifstream служит для работы с
файлами в режиме чтения.
 Поток ofstream служит для работы с
файлами в режиме записи.
 Поток fstream служит для работы с
файлами в режиме, как чтения, так и
записи.
В программах на C++ при работе с текстовыми файлами
необходимо подключать библиотеки iostream и
fstream.
Чтобы записывать данные в текстовый файл
необходимо:
Описать переменную типа ofstream
Отрыть файл с помощью функции open.
Вывести информацию в файл с помощью cout.
Обязательно закрыть файл.
Чтобы считывать данные из текстового файла необходимо:
1. Описать переменную типа ifstream
2. Отрыть файл с помощью функции open.
3. Считать информацию из файла с помощью cin, при
считывании каждой порции данных необходимо проверять, что
чтение возможно.
4. Закрыть файл.
Программа чтения из файла
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. }
Программа записи в файл
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. }
Если не знаем сколько в файле
значений#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();
}
Если пустой перевод строки
ifstream f("file.txt"); //создаем объект класса ifstream - f
while (true)
{
int v;
f >> v; // считывать из f
if (!f.eof())
cout << v << endl; //тогда вывести на экран
else
break;
}
Задание
Напишите программу, которая
вычисляет среднее
арифметическое чисел,
находящихся в файле numbers.txt
(в нем должны быть 5 целых
чисел) и выводит рез-тат на экран
Задание
Напишите программу, которая
вычисляет среднее
арифметическое чисел,
введенных с клавиатуры и
выводит результат в файл
numbers.txt
Задание
самостоятельно создать
программу, которая считывает из
файла file1.txt и записывает
значения в file2.txt

More Related Content

работа с файлами в с++

  • 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; }
  • 10. Задание Напишите программу, которая вычисляет среднее арифметическое чисел, находящихся в файле numbers.txt (в нем должны быть 5 целых чисел) и выводит рез-тат на экран
  • 11. Задание Напишите программу, которая вычисляет среднее арифметическое чисел, введенных с клавиатуры и выводит результат в файл numbers.txt
  • 12. Задание самостоятельно создать программу, которая считывает из файла file1.txt и записывает значения в file2.txt