Вы также можете использовать трубу.Канал - это часть памяти, где вы можете читать и писать, используя файловые примитивы.Что в принципе и нужно
(Предполагается, что операционная система POSIX)
создает канал:
int p[2];
pipe(p);
используйте fdopen (), чтобы превратить дескриптор файла канала в FILE*
FILE *emulated_file = fdopen(p[0], "r");
, затем напишите все, что вы хотите, в конец записи канала:
write(p[1], 17 ,"whatevereyouwant");
Сейчас:
buf[32];
fread(&buf,1,32, emulated_file);
cout<<buf<<endl;
выведет "whateveryouwant".