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

 

 
		
		 
        

 
			
			

 
  
  
 
 
			 
   
 



 
				 donner ifstream à fonction nécessitant FILE*
 donner ifstream à fonction nécessitant FILE*
				
 A méditer: La solution la plus simple est toujours la moins compliquée
A méditer: La solution la plus simple est toujours la moins compliquée Répondre avec citation
  Répondre avec citation 
  
Partager