Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoy_cpp_2012_spring_lecture_07

.pdf
Скачиваний:
5
Добавлен:
20.04.2015
Размер:
136.27 Кб
Скачать

Проверка состояния потока

good()

goodbit

eof()

eofbit или badbit

fail()

failbit или badbit

bad()

badbit

24.03.2012

cppNewb.ru

51

Установка состояния потока

clear(iostate _State = goodbit)

сбросить все флаги и установить заданные

setstate(iostate _State)

установить флаги

пример:

cout.clear(ios::failbit);

cout.setstate(ios::failbit | ~ios::goodbit);

24.03.2012

cppNewb.ru

52

Исключения в потоках

поток может генерировать исключения std::ios_base::failure для заданных флагов состоянии

exceptions

устанавливает статусы

пример:

stmFile.exceptions(ios::badbit);

24.03.2012

cppNewb.ru

53

Неформатированный ввод

чтение отдельного символа или последовательности из потока

get

прочитать из потока отдельный символ

read

прочитать из потока последовательность

24.03.2012

cppNewb.ru

54

Неформатированный вывод

вывод отдельного символа или последовательности в поток

put

записать в поток отдельный символ

write

записать в поток последовательность

24.03.2012

cppNewb.ru

55

Файловые потоки

прикрепляются к объектам файловой системы

ofstream

ifstream

fstream

24.03.2012

cppNewb.ru

56

Цикл работы с файлом

конструктор

open

close

деструктор

пример:

ifstream inData(path);

24.03.2012

cppNewb.ru

57

Режим открытия файла (флаги)

ios::in

чтение (без усечения)

ios::out

запись (без усечения)

ios::app

дописывание

24.03.2012

cppNewb.ru

58

Режим открытия файла (флаги)

ios::ate

существующий файл (чтение, запись в конец)

ios::trunc

существующий файл (запись с начала)

ios::binary

двоичный режим

24.03.2012

cppNewb.ru

59

Файловый поток (пример)

fstream dataFile(path.c_str() , ios::ate);

dataFile << obj1; dataFile << obj2; dataFile.close();

dataFile.open(path.c_str(), ios::in);

24.03.2012

cppNewb.ru

60