Manipulation LPCWSTR et char[]

[Résolu]
Signaler
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
16 juillet 2007
-
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
16 juillet 2007
-
salut a tous,
je suis en train de realiser un petit prog avec directshow et j'ai quelques diffcultées.
je dois utiliser une fonction qui prend en paramatre le chemin d'un fichier pour le lire.
HRESULT RenderFile(

  LPCWSTR chemin_fichier,
  LPCWSTR lpwstrPlayList
);


le pb c'est qu'avec la fonction GetOpenFileName, je recupere bien le chemin du fichier que je mets dans une variable fichier[MAX_PATH], et quand je la passe en tant que 1er parametre, le compilo me dit qu'il ne peut convertir un char[260] en LPCWSTR.

donc je caste ma variable ainsi:
HRESULT hr = RenderFile((LPCWSTR)fichier, NULL);
mais hr echoue.

en fait je me suis rendu d'une chose:
lorsque je tape manuellement le chemin du fichier precedé par un L ca marche:
HRESULT hr = RenderFile(L"C:\\dossier\\file.mp3", NULL);

une idée sur la maniere de faire pour pouvoir pouvoir placer ma variable dans cette putaine de fonction ? heuu... pardon

2 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Faut transformer en unicode:
voir MultiByteToWideChar() dans MSDN.

ciao...
BruNews, MVP VC++
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
16 juillet 2007
1
super ca marche je te remercie.
petit commentaire: jetais deja tombé sur cette fonction dans un prog mais je me suis dit que c'est encore une de ces nombreuses fonctions inutiles comme en regorge l'api win32.
dorenavant je ferais plus attention.
merci encore