DLL et CString

Signaler
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012
-
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012
-
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...

Si quelqu'un a une idée...
Merci

A+

3 réponses

Messages postés
75
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
3 juillet 2006

void afficherMsg()
{
    char * test = "ceci est un test";
    CString * test2 = new CString("ceci est un test");
    CString test3 = "ceci est un test";

    cout<<"char * : "<<test<<endl;
    cout<<"CString * : "<< test2->GetBuffer() <<endl;
    cout<<"CString : "<< test3.GetBuffer() <<endl;

    delete test2;
}

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

-=-= ExCRT =-=-
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012

Ok, merci,
je testerai ça demain, je te tiens au courant.
A+
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012

Salut,
J'ai rajouté les GetBuffer mais c'est toujours pareil...
Merci quand même,
A+