¿Hay alguna forma de acceder al descriptor de archivo de un archivo abierto en C++? Entonces ...Cómo acceder al descriptor de archivo de Open File
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream inputFile("file.txt",ios::in);
cout << inputFile.fileDesc << endl;//made up call
return 0;
}
La pregunta es, ¿existe algo así como fileDesc para ifstreams? Si no, ¿cómo voy a hacer esto?
La pregunta es ¿por qué quieres hacer esto? Si explica su racional, tal vez se encuentre una alternativa que resuelva su problema real. –
El motivo por el que necesito el descriptor de archivo es que necesito ejecutar fstat() en un archivo como un tiempo después de que se haya abierto. Me doy cuenta de que podría usar stat() en el nombre de archivo pero estoy usando fstat() para poder obtener estadísticas en las transmisiones también. Solo quería un método conciso que se pudiera usar para los descriptores de flujo reservados (0 (STDIN), 1 (STDOUT) y 2 (STDERR) y para los archivos que se abren. –
EDITAR: Me doy cuenta de que ifstream es un flujo, pero no tiene un archivo reservado como las secuencias de E/S antes mencionadas. –