Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Прототип перегруженной функции-элемента read:
ostream& read(char* buff, int num);
ostream& read(signed char* buff, int num);
ostream& read(unsigned char* buff, int num);
Параметр buff - это указатель на буфер, который принимает данные из входного потока. Параметр num указывает число считываемых из потока байт.
Пример 5.
const MAX = 80;
char buff [MAX+1];
int len;
fstream f;
f.open("CALC.DAT", ios::in | ios::binary);
f.read((unsigned char*) &len, sizeof(len));
f.read((unsigned char*) buff, len);
f.close();
В этом примере считывается информация, записанная в предыдущем примере.
Рассмотрим пример, выполняющий последовательный двоичный потоковый ввод/вывод. В листинге 10.2 представлен исходный код программы ARRAY.CPP. Эта программа объявляет класс, который моделирует численный динамический массив. Операции ввода/вывода позволяют программе читать и писать как отдельные элементы массива, так и целый массив в двоичный файл. Эта программа создает массивы arr1, arr2 и аrrЗ, а затем выполняет следующие задачи:
- Присваивает значения элементам массива arr1. (Этот массив имеет 10 элементов).
- Присваивает значения элементам массива аrrЗ. (Этот массив имеет 20 элементов).
- Отображает значения массива arr1.
- Записывает элементы массива arr1 в файл ARRAY1.DAT (по одному за операцию).
- Читает элементы массива arr1 из этого файла в массив arr2 (по одному за операцию). (Массив arr2 имеет 10 элементов, то есть он одного размера с массивом arr1).
- Отображает элементы массива arr2.
- Отображает элементы массива аrrЗ.
- Записывает элементы массива аrrЗ в файл ARRAY3.DAT, все сразу.
- Читает (все сразу) данные из файла ARRAY3.DAT и сохраняет их в массиве arr1.
- Отображает значения массива arr1. (Выход показывает, что массив arr1 имеет тот же размер, что и массив arr3).
Дата публикования: 2014-11-28; Прочитано: 171 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!