Il noto modo di creare un oggetto fstream
è:Creazione oggetto fstream da un puntatore FILE *
ifstream fobj("myfile.txt");
esempio. usando un nome di file.
Ma voglio creare un oggetto ifstream utilizzando un descrittore di file.
Motivo: voglio eseguire un comando utilizzando
_popen()
._popen()
restituisce l'output comeFILE*
. Quindi c'è un puntatore FILE * coinvolto ma nessun nome file.
@ Joe: descrittori di file POSIX sono ancora un'altra cosa. Presumibilmente, sia iostream che C++ e C I/O sono implementati in termini di essi su una piattaforma Posix. La presente domanda è più ragionevole, tuttavia, dal momento che entrambi iostream * e * C I/O fanno parte della libreria standard. –
questo è un duplicato di http://stackoverflow.com/questions/2746168/how-to-construct-ac-fstream-from-a-posix-file-descriptor dato è possibile utilizzare 'fileno' sulla' 'FILE * restituito da 'popen' – Alnitak