Manipulation LPCWSTR et char[] [Résolu]

ebooserge
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
16 juillet 2007
- 3 oct. 2005 à 21:29 - Dernière réponse : ebooserge
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
16 juillet 2007
- 3 oct. 2005 à 22:05
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 3 oct. 2005 à 21:36
3
Merci
Faut transformer en unicode:
voir MultiByteToWideChar() dans MSDN.

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de BruNews
ebooserge
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
16 juillet 2007
- 3 oct. 2005 à 22:05
0
Merci
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
Commenter la réponse de ebooserge

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.