В дополнение к вводу/выводу на консоль и в файлы, система ввода/вывода языка С++ позволяет осуществлять ввод/вывод в массивы. Ввод/вывод на основе массивов использует память в качестве устройства для ввода и вывода. Ввод/вывод на основе массивов осуществляется с помощью обычных потоков С++. Фактически вся представленная в предыдущем разделе информация применима к вводу/выводу на основе массивов. Единственное, что делает ввод/вывод на основе массивов уникальным, заключается в том, что состыкованным с потоком устройством служит память.
В некоторой литературе по С++ ввод/вывод на основе массивов (array-based I/O) называют также вводом/выводом в память (in-RAM I/O). Поскольку потоки способны форматировать информацию, то иногда ввод/вывод на основе массивов называют также форматированием в памяти (in-RAM formatting).
Вывод на основе массивов С++ подобен использованию функций sprintf() и sscanf() в языке С. В обоих случаях память используется в качестве устройства для ввода и вывода.
Для использования ввода/вывода на основе массивов необходимо включить в программу заголовочный файл strstrea.h.