godbeni a écrit :
Malheuresement on ne peut pas instancier wifstream/wofstream avec des wstring
|
Mouais, l'API d'ouverture des fichiers est extrêmement mal foutue sous Windows: avec Visual Studio, Microsoft a rajouté une surcharge a fstream::open pour accepter des const wchar_t * en nom de fichier, surcharge qui n'a jamais été standardisée.
wifstream c'est pour lire du contenu unicode, les noms de fichiers n'accepteront que des const char *.
Aucune API pour transmettre un descripteur bas niveau, histoire d'ouvrir le fichier par toi même, façon fdopen() de stdio.
Convertir le nom en UTF-8 ne fonctionnera pas non plus, faudra passer par l'encodage ANSI (ACP) et serrer les fesses pour que tous les caractères rentrent là dedans.
Sinon, il y a la bibliothèque boost qui supporte les noms unicode.