La fonction fopen
renvoie un pointeur vers une structure FILE
, ce qui doit être considéré comme une valeur opaque, sans traiter de son contenu ou de sa signification.Comment obtenir le fichier HANDLE à partir de la structure FICHIER FICHIER?
Sous Windows, le runtime C est un wrapper de l'API Windows et la fonction fopen
repose sur la fonction CreateFile
. La fonction CreateFile
renvoie un HANDLE
, qui est utilisé par une autre API Windows.
Maintenant, j'ai besoin d'utiliser l'API Windows au cœur d'une bibliothèque qui utilise fopen
et FILE*
. Donc: existe-t-il un moyen d'obtenir le HANDLE
de la structure FILE
? Comme c'est spécifique au compilateur, je veux dire sur la bibliothèque d'exécution de MSVC. Je comprends que ce serait un hack laid, non portable, et qui pourrait cassé si Microsoft change le format interne de FILE
... mais je développe sur un système fermé (par exemple sur un système Windows CE embarqué) et refactoriser la bibliothèque serait difficile et prendrait du temps.
Grande question, je me suis occupé avec celui-ci moi-même il y a plus de 2 ans. –