Similar presentations:
Программирование: потоки ввода-вывода
1. Программирование
ПРОГРАММИРОВАНИЕПРАКТИЧЕСКОЕ ЗАНЯТИЕ 5.
Потоки ввода-вывода
2. Объявление файлового потока
ОБЪЯВЛЕНИЕ ФАЙЛОВОГОПОТОКА
Для использования данных классов необходимо подключить
файл fstream.
Для создания объекта класса ifstream и связи с ним файла,
находящегося в текущем каталоге, требуется записать
оператор:
ifstream f (“text.txt”, ios::in);
первый параметр – имя файла в текущей директории
второй параметр – режим (флаг) работы
3. Виды режимов (флагов)
ВИДЫ РЕЖИМОВ (ФЛАГОВ)Флаг
Назначение
ios :: in
Файл открывается для чтения, его содержимое
не очищается
ios :: out
ios :: ate
Файл открывается для записи
ios :: app
Все
выводимые
в конец файла
ios :: trunc
Если файл существует, его содержимое
автоматически очищается
После создания объекта маркер текущей
позиции устанавливается в конец файла
данные
добавляются
3
4. Открытие и закрытие файла
ОТКРЫТИЕ И ЗАКРЫТИЕФАЙЛА
Функция открытия файла имеет две версии:
open(путь); или open(путь, режим);
ifstream in;
// поток для чтения
in.open("hello.txt"); // окрываем файл для чтения
if ( in.is_open() ) { // если файл открыт }
После завершения работы с файлом его следует
закрыть с помощью функции close().
5. ВАЖНО!
Возможна запись в файл прямо из программы на C++.Для этого используется потоковая вставка operator
(<<).
Текст, который будет записан в файл, должен быть
заключен внутри кавычек.
Можно считывать информацию из файлов в свою
программу на C++ с помощью извлечения потока
operaтор (>>). Однако вместо объекта cin нужно
использовать объект ifstream/fstream.
5
6. ПРИМЕР
#include <iostream>#include <fstream>
using namespace std;
int main()
{ fstream my_file; my_file.open("my_file.txt", ios::out);
if (!my_file) { cout << "File not created!"; }
else { cout << "File created successfully!";
my_file << "Guru2024";
my_file.close( );
} return 0;
}
6
7. ИНТЕРАКТИВНОЕ ЗАДАНИЕ
8. функции класса ifstream
ФУНКЦИИ КЛАССА IFSTREAMget (c) – получение символа из потока и запись его
в переменную с;
put(c) – выводит символ с в поток;
seekg(pos) – устанавливает текущую позицию
чтения в значение pos;
tellg( ) – возвращает текущую позицию чтения
(записи) в поток;
8
9. ЗАДАНИЕ 1
Прочтите информацию из текстового файлазапишите четвертое слово в новый файл
10. ЗАДАНИЕ 2
В файле в текстовом файле File.txt хранитсяпоследовательность целых чисел, необходимо
их считать и найти сумму.
11. Задание 2 ОТВЕТ
ЗАДАНИЕ 2 ОТВЕТifstream in;
in.open("C:\\File.txt");
int k; int s = 0;
while (!in.eof())
{
while (in >> k)
s= s+k;
in >> k;
s= s+k;
}
11
programming