Для создания потока, способного вводить и выводить данные в массив, надо использовать следующую функцию-конструктор класса 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;
}
Эта программа сначала пишет два числа и буквы алфавита в массив, а затем читает их.