dmk04
Messages postés206Date d'inscriptionsamedi 29 octobre 2005StatutMembreDernière intervention 7 mars 2012
-
18 mai 2006 à 13:50
dmk04
Messages postés206Date d'inscriptionsamedi 29 octobre 2005StatutMembreDernière intervention 7 mars 2012
-
19 mai 2006 à 09:09
Bonjour,
J'ai crée une DLL avec une fonction, qui affiche plusieurs fois la même chaîne, une fois en tant que char *, une fois en tant que CString * puis en CString.
En char * tout est OK, mais CString et CString *, il m'affiche un code hexa (l'adresse du pointeur?).
Cette fonction marche très bien dans un programme "normal", mais dans une DLL... juste le char * qui marche.
void afficherMsg()
{
char * test = "ceci est un test";
CString * test2 = new CString();
*test2 = "ceci est un test";
CString test3 = "ceci est un test";
cout<<"char * : "<<test<<endl;
cout<<"CString * : "<<*test2<<endl;
cout<<"CString : "<<test3<<endl;
}
Note : j'ai essayé d'afficher **test2 ou *test3, toujours une chaîne hexa...
il est possible que CString surcharge les opérateurs << et >> seulement pour les applications de type « console ». les « chaines hexa » qui s'affichent ce sont les adresses de « test2 » et « test3 ». à la base, dans une « application » de type dll/win32 app/etc... il n'y a pas de console donc la surcharge des opérateurs << et >> est inutile