Fstream io;//ввод-вывод

После объявления потоков производится открытие файла, связывающее его с потоком с помощью функции open() или с помощью конструктора. Прототип функции open():

void open (char *filename,int mode,int access);

Здесь filename – имя файла, включающее путь; mode – режим открытия файла (ios::in – открытие файла для чтения, ios::out – открытие для записи, ios::binary – открытие файла в двоичном режиме, по умолчанию в текстовом); access: 0 – файл со свободным доступом, 1 – только для чтения, 8 – архивный файл. Файл закрывается с помощью функции close().

Для чтения-записи здесь можно использовать перегружаемые оператор-функции >> и << или использовать методы классов. Для ввода-вывода одного символа используются функции:

istream &get(char &ch); ostream &put(char ch);

Для записи и считывания блоков двоичных данных используются функции считывания-записи n байт в буфер или из буфера:

istream &read(unsigned char *buf, int n);

ostream &write(const unsigned char *buf, int n);

Обработка исключительных ситуаций. В программах на С++ следует использовать механизм обработки исключительных ситуаций. Операторы программы при обработке исключительных ситуаций располагаются в блоке try. Перехватывается и обрабатывается исключительная ситуация в блоке catch. Форма операторов try-catch следующая:

try {/*блок try*/ }

catch(type1 arg){/*блок catch*/}

С блоком try можетсвязываться несколько блоков catch. Выполняется тот блок catch, для которого тип аргумента соответствует типу возникшей исключительной ситуации. При этом ее значение присваивается аргументу catch. Если ошибка имеет место внутри блока try, она может генерироваться с помощью throw, после чего управление передано блоку catch. В случае необходимости перехвата всех исключительных ситуаций независимо от типа используется

catch(…)

{/*тело*/}

Для функций, вызываемых из блока try, можно указать число типов исключительных ситуаций, которые будет генерировать функция: