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

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

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()

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