Manipulation LPCWSTR et char[] [Résolu]

ebooserge 137 Messages postés lundi 13 décembre 2004Date d'inscription 16 juillet 2007 Dernière intervention - 3 oct. 2005 à 21:29 - Dernière réponse : ebooserge 137 Messages postés lundi 13 décembre 2004Date d'inscription 16 juillet 2007 Dernière intervention
- 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 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 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é 88 internautes ce mois-ci

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