Ouvrir un fichier : problème de LPWSTR ne VC++

Résolu
marco123456789 Messages postés 2 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 8 octobre 2007 - 8 oct. 2007 à 19:00
marco123456789 Messages postés 2 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 8 octobre 2007 - 8 oct. 2007 à 19:13
Je souhaterais obtenir l'adresse d'un fichier en utilisant une fenetre OUVRIR de WINDOWS (un OPENFILENAME).
Or le code ne compile pas car il semble impossible de pouvoir covertir des char[] en LPWSTR.
J'obtient alors l'erreur C2440 impossible de convertir de 'char [260]' en 'LPWSTR' des le parametrage de la fenêtre.

Le code de ma methode est présentée ci dessous :

void

ouvrir(HWND hwnd){

OPENFILENAME ofn;

CHAR szFileName[MAX_PATH];

ZeroMemory(&ofn,

sizeof(ofn));szFileName[0] = 0;
ofn.lStructSize sizeof(ofn);ofn.hwndOwner hwnd;

ofn.lpstrFilter = TEXT(

"Text Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0\0");ofn.lpstrFile = szFileName; // c'est ici que ca passe pas

ofn.nMaxFile = MAX_PATH;

ofn.lpstrDefExt = TEXT(

"txt");}

Si quelqu'un connait la solution, ou pourrait me passer une méthode similaire qui marche, je lui serai trés reconnaissant, parce que là, c trop bète de perdre du temps sur un truc comme ca  (inutile de dire que c la première fois que j'utilise un OPENFILENAME). Je précise aussi que je code sous Visual C++ 2005.

Merci d'avance

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 oct. 2007 à 19:07
Mets TCHAR au lieu de CHAR.
On ne peut pas coder moitié ANSI moitié UNICODE, faut choisir.

ciao...
BruNews, MVP VC++
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
8 oct. 2007 à 19:08
C'est que ton code compile en unicode. Passe en multibytes et tout devrais passer.

Projet->Propriétés de ...->Propriétés de configuration->Général->Jeu de caractères

C++ (@++)<!--
0
marco123456789 Messages postés 2 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 8 octobre 2007
8 oct. 2007 à 19:13
Merci beaucoup pour vos réponses. Le coup du TCHAR s'est avéré trés efficace. J'ai pas encore essayé de compiler en multibytes.
Merci à vous deux
++
0
Rejoignez-nous