La forma bien conocida de la creación de un objeto fstream
es:Crear objeto fstream desde un archivo * puntero
ifstream fobj("myfile.txt");
es decir. usando un nombre de archivo.
Pero quiero crear un objeto ifstream usando un descriptor de archivo.
Motivo: Quiero ejecutar un comando usando
_popen()
._popen()
devuelve la salida comoFILE*
. Entonces, hay un puntero FILE * involucrado pero no un nombre de archivo.
@ Joe: Posix descriptores de fichero son otra cosa. Presumiblemente, tanto C++ iostreams como C I/O se implementan en términos de ellos en una plataforma Posix. La presente pregunta es más razonable, sin embargo, dado que ambos iostreams * y * C I/O son parte de la biblioteca estándar. –
este es un duplicado de http://stackoverflow.com/questions/2746168/how-to-construct-ac-fstream-from-a-posix-file-descriptor dado que puede usar 'fileno' en el' FILE * ' devuelto de 'popen' – Alnitak