Добавил:
ПОИТ 2016-2020 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
29.04.2018
Размер:
124 Кб
Скачать
☆

Позиционирование с помощью функций

•seekg()

•g обозначает позиционирование для чтения (getting) символов (используется с объектом класса ofstream),

•seekp()

•p – для записи (putting) символов (используется с объектом

класса ifstream).

Возврат текущей позиции

•tellg()

•tellp()

Файловый ввод-вывод

#include <fstream >

•ofstream – запись в файл;

•ifstream – чтение из файла;

•fstream – чтение/запись.

•ifstream in; // входной поток

•ofstream out; // выходной поток

•fstream both; // поток ввода-

вывода

создать файловый поток

1)

// Создается объект fstream (ifstream, ofstream)

fstream ff;

//Открывается файл, который связывается

//с потоком

ff.open(“my.txt”,ios::in | ios::out); char p[100];

ff.seekg(0); //позиционировать на начало ff.getline(p,100); //чтение 1-ой стр с начала ff.close;

Пример 2.

//Создается объект fstream,

//одновременно открывается файл,

//который связывается с потоком fstream stream(“имя”,ios::in);

•#include <fstream>

•#include <iostream>

•………………….

•int _tmain(int argc, _TCHAR* argv[])

•{ using namespace std;

•char p[100];

•fstream inout;

•inout.open (“a.txt”, ios::in | ios::out | ios:: trunc);

•inout<<”This is string”<<endl; //создание двунаправленного потока и вывод в файл

•inout.seekg(0); //установка позиционера на начало

•inout.getline(p,50); //чтение строки из файла

•Inout.seekg(0); //установка позиционера на начало

•cout<<endl<< inout.rdbuf(); //вывод содержимого потока на экран

• inout.close(); //закрыть поток }

Работа с классом ofstream

•ofstream outfile(“copy.out”, ios::out);

•ofstream

outfile2(“copy.out”); //эти объекты эквивалентны

Альтернативные функции

•ostream & put(char C);

•ostream& write(const char* buffer, int size);

Пример использования класса ofstream

•#include <fstream>

•………………….

•int _tmain(int argc, _TCHAR* argv[])

•{ oftream out; //переменная типа ofstream

•………………..

•out.open(“a.txt”); //вызывает метод открытия файла

•if (out == NULL) return 0; //выход, если не открыли файл

•for (int i = 0; i < 2; i++)

•out<<”string”<<1<<endl: //вывод в файл

•out close(); //закрытие файла

•……………….. }

Работа с классом ifstream

•getline (char * buffer, streamsize size, char delimiter='\n');

•read ( char* buffer, streamsize size );

•gcount()

Соседние файлы в папке Лекции