convertir un char* en PCWSTR [Microsoft][C] - C - Programmation
Marsh Posté le 13-09-2012 à 16:01:44
Bah PCWSTR est juste un typedef pour "const wchar_t *". Il faut donc convertir ton char * en wchar_t *. Tu peux utiliser la fonction MultiByteToWideChar :
Code :
|
Un code un peu plusse mieux, qu'on évitera de repomper si on n'y comprends rien:
Code :
|
Bref, regarde la définition de cette fonction http://msdn.microsoft.com/en-us/li [...] 85%29.aspx
Marsh Posté le 13-09-2012 à 16:08:45
Merci.
Ton code ne marche pas tout à fait parce que MultiByteToWideChar prend en argument un LPWSTR et pas un PCWSTR, c'est-à-dire un WCHAR* et pas un CONST WCHAR*, mais ça s'arrange en introduisant une variable intermédiaire de type LPWSTR, en appelant MultiByteToWideChar dessus et en renseignant la variable de type PCWSTR avec la variable de type LPWSTR.
Problème résolu.
Marie
Marsh Posté le 13-09-2012 à 15:33:18
Bonjour,
Je voudrais renseigner un PCWSTR avec le contenu d'un char* en C.
Contexte : j'ai trouvé sur Internet une fonction qui parse le contenu d'un fichier xml en C et dont voici le prototype :
void parseXmlKeyFile (PCWSTR pcwstrXmlFileName);
et je voudrais lui passer un nom de fichier qui se trouve dans un char*, par exemple "toto.txt".
Visiblement, je ne me pose pas la bonne question parce que je n'ai trouvé nulle part de réponse à ce problème sur Internet, mais je ne m'en sors pas.
Si quelqu'un peut m'aider, ce serait très gentil.
Marie