Problème de chaîne de caractère en Visual C++ .NET

Résolu
Signaler
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008
-
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008
-
Bonjour à tous,



J'ai un problème. ;) Dans un projet Visual C++ .NET, lorsque
l'utilisateut clique sur un boutton "Parcourir", il y a une openFilebox
qui se lance, il clique sur son fichier et clique sur ouvrir. Pour
l'instant, rien d'anormal. Le problème c'est que le fichier (avec son
chemin), il me le faudrait en char * et non en __gc * comme me dit
Visual C++. Il me dit qu'il ne pas pas convertir un __gc * en const
char *. Comment faire ?



Merci.

4 réponses

Messages postés
115
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
8 octobre 2007

Salut,



Utilises la fonction GetOpenFileName ainsi que la structure OPENFILENAME.



Tu trouveras plusieurs exemples sur le site.<link href="../../../../../css/ie4.css" type="text/css" rel="stylesheet"><!-- @ --><link href="../../../../../css/inetsdk.css" type="text/css" rel="stylesheet"><!-- @ --><style type="text/css">
PRE.clsCode { font-size:110%; }
PRE.clsSyntax { font-size:100%; }
TD DIV.clsBeta { display:none;}

A:link { color:#0000ff; text-decoration:underline;}
A:visited { color:#0000ff; text-decoration:underline;}
A:hover { color:#3366ff; text-decoration:underline;}
MSHelp\:link {
color:#0000ff;
text-decoration:underline;
cursor:hand;
hoverColor:#3366ff;
filterString: ;}
</style><link href="ms-help://Hx/HxRuntime/HxLink.css" type="text/css" rel="stylesheet"><XML id="_topicdata" pagetype="function" proj="WinUIHXS" name="GetOpenFileName" pubpath="/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxFunctions/GetOpenFileName.htm"><!-- topic data --><root></root></XML><xml xmlns:mshelp="http://msdn.microsoft.com/mshelp"></xml>
Messages postés
42
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
5 novembre 2005

bon j'y connais rien en .NET mais si tu veux convertir en général il faut utiliser la syntaxe :

(type_que_tu_veux)objet_a_convertir



dans ton cas ca ferait :

(char *)chaine



et donc si tu apelle une fonction en lui passant ce parametre ca fait par exemple :

fonction((char *)chaine);
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008

Cela s'appelle le transtipage, et là ça ne marche pas. C'est plus compliqué que ça. ;)
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008

Ok, je vais essayer. Merci.