Программирование на C и C++

Онлайн справочник программиста на C и C++

Потоки ввода/вывода в массивы

Для создания потока, способного вводить и выводить данные в массив, надо использовать следу­ющую функцию-конструктор класса strstream:

strstream iostr (char *buf, int size, int mode);

Здесь buf указывает на строку, используемую для операций ввода/вывода. Величина size указы­вает на размер массива. Параметр mode служит для определения режима. Для нормальных опера­ций ввода/вывода параметру mode присваивается значение ios::in | ios::out. Для ввода массив дол­жен оканчиваться нулем.

Следующая программа использует массив для ввода и для вывода:

// выполняет как ввод, так и вывод
#include <iostream.h>
#include <strstrea.h>
int main()
{
char iostr[80];
strstream ios (iostr, sizeof(iostr), ios::in | ios::out);
int a, b;
char str[80];
ios << "1734 534abcdefghijklmnopqrstuvwxyz";
ios >> a >> b >> str;
cout << a << " " << b << " " << str << endl;
}

Эта программа сначала пишет два числа и буквы алфавита в массив, а затем читает их.