Problème de conversion de CString en char *
Salut,
J'ai un problème de conversion d' un CString en char *. J'ai fait des recherche sur le net et voilà le code que j'utilise:
Code:
1 2 3 4 5 6 7 8 9 10
|
//convertir une CString en un char *
char * CStringToChar(CString chaineAConvertir)
{ AfxMessageBox(chaineAConvertir);
char * szPtr = NULL;
szPtr = chaineAConvertir.GetBuffer(2);
AfxMessageBox(szPtr);
chaineAConvertir.ReleaseBuffer();
return szPtr;
} |
Avec les message box je vérifie que j'ai la bonne chaine, notamment szPtr. Mais quand je récupere la valeur retournée par cette fonction en faisant
Code:
1 2 3 4
|
char * NomFichier = "tagada";
NomFichier = CStringToChar ("youppiii");
AfxMessageBox(NomFichier); |
L'ordre de l'affichage est le suivant "youppiii", "youppiii" (correspondant au AfxMessageBox à l'interieur de CStringToChar) et puis le 3ème AfxMessageBox affiche une suite de caractères bizaaaaares 8O
qualqu'un a une idée?
Merci