Salut,
Je commence à m'intéresser aux bibliotheques libpng, libjpg, que je voudrais pouvoir gérer dans plusieurs classes...
Les classes qui gerent ces bibliotheques disposent toutes d'un membre Filename correspondant au nom du fichier dont il faut récupérer l'image, et d'une methode Load(), qui doit fournir l'image "visible"...
Damn, les deux biliotheques sont écrites en C, et les fonctions fournies par l'interface nécessitent donc un filedescriptor de type FILE*
Evidemment, je pourrais me contenter de travailler "A la C" dans ma méthode Load() (avec ouverture du fichier sous la forme de FILE *fp(Filename.c_str(),"rb"); et tout ce qui s'en suit)... Sauf que...
Sauf que, tant qu'à faire, je préfererais travailler en C++ autant que possible...
Bref, si l'ouverture du fichier en binaire ne me pose aucun problème, celui de passer mon ifstream en parametre FILE* bien...
J'ai bien pensé à utiliser la methode rdbuf() des ifstream... Mais cela renvoie un basic_streambuf<charT,traits> * qui ne semble pas correspondre...
Alors la question qui tue: quelle méthode peut-on utiliser pour récupérer le filedescriptor d'un ifstream, et pouvoir le passer en tant que pointeur FILE* à une fonction
Merci d'avance
Partager