Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ООП.docx
Скачиваний:
5
Добавлен:
18.09.2019
Размер:
114.62 Кб
Скачать

42. Открытие файлов в разных режимах.

Для получения доступа к файлу нужно:

  1. Создать поток соответствующего типа:

ifsteram   - для ввода из файла ;

ofsteram   - для вывода в файл;

fsteram     - для обмена с файлом в двух направлениях.

 

  1. Связать его с файлом данных и открыть (open) для работы в определенном режиме:

void ifstream::open(const char *имя_файла, openmode режим=ios::in);

void ofstream::open(const char *имя_файла, openmode режим=ios::out|ios::trunc);

void fstream::open(const char *имя_файла, openmode режим=ios::in|ios::out);

где имя_файла – имя файла, в которое может входить спецификатор пути;

режим – задает режим открытия файла, может принимать значения:

арр

Открытие для записи в конец файла.

ate

При открытии позиционирует указатель на конец файла.

binary

Файл открывается в двоичном (не текстовом) режиме.

in

Файл открывается для ввода.

out

Файл открывается для вывода.

trunc

Если файл существует, его содержимое теряется.

43. ВВод-вывод в файлы.

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

     #include <fstream> 

После этого можно объявлять объекты, привязанные к файлам: для чтения данных из файла используются объекты типа ifstream (аббревиатура от input file stream, для записи данных в файл используются объекты типа ofstream (output file stream). Например

     ifstream in;  // Поток in будем использовать для чтения      ofstream out; // Поток out будем использовать для записи

Чтобы привязать тот или иной поток к файлу (открыть файл для чтения или для записи) используется метод open, которому необходимо передать параметр – текстовую строку, содержащую имя открываемого файла.

     in.open("input.txt");      out.open("output.txt");

После открытия файлов и привязки их к файловым потокам, работать с файлами можно так же, как со стандартными потоками ввода-вывода cin и cout.

44. Шаблоны функций.

Цель введения шаблонов функций - автоматизация создания функций, которые могут обрабатывать разнотипные данные. Параметризовать в шаблоне функций можно тип возвращаемого функцией значения и типы любых параметров, количество и порядок размещения которых должны быть фиксированы.

Шаблон семейства функций состоит из двух частей - заголовка шаблона template <список_параметров_шаблона> и из определения функции, в котором тип возвращаемого значения и типы любых параметров обозначаются именами параметров шаблона, введенных в его заголовке. Те же имена параметров шаблона могут использоваться и в теле определения функции для обозначения типов локальных объектов.

Например, ниже определен шаблон для функции с именем mах, которая возвращает большее из двух значений:

template<class Т> Т mах(Т а, Т b)

{     if (а > b) return(а);     else return(b);  }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]