Доступ к потокам на основе массивов может быть также осуществлен с помощью стандартных функций-членов класса ios, таких как get() и put(). Также можно использовать функцию еоf() для того, чтобы определить, когда будет достигнут конец массива. Например, следующая программа показывает, как прочитать содержание массива с использованием функции get():
#include <iostream.h>
#include <strstrea.h>
int main()
{
char s[] = "This is a test array\23\22\21\a\t\n";
istrstream ins(s);
char ch;
// читает содержимое массива любого типа
while ( !ins.eof ()) {
ins.get (ch);
cout << ch;
}
return 0;
}
В данном примере величины, форматированные следующим образом «\23\22\21» являются нетекстовыми управляющими символами CTRL-W, CTRL-V и CTRL-U. Знак «\t » является символом табуляции. Таким образом могут быть прочитаны данные любого типа.
Если необходимо прочесть данные из буфера, то можно использовать функцию-член read(). Для записи данных в буфер используется функция write().