Известный способ создания объекта fstream
является:Создание объекта fstream из FILE * указатель
ifstream fobj("myfile.txt");
т.е.. используя имя файла.
Но я хочу создать объект ifstream, используя дескриптор файла.
Причина: Я хочу, чтобы выполнить команду, используя
_popen()
._popen()
возвращает выход какFILE*
. Таким образом, есть указатель FILE *, но не имя файла.
@Joe: дескрипторы Posix еще одна вещь. Предположительно, как C++ iostreams, так и C I/O реализованы в терминах их на платформе Posix. Однако данный вопрос является более разумным, поскольку оба iostreams * и * C I/O являются частью стандартной библиотеки. –
это дубликат http://stackoverflow.com/questions/2746168/how-to-construct-ac-fstream-from-a-posix-file-descriptor, который вы можете использовать 'fileno' в' FILE * ' вернулся из 'popen' – Alnitak