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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 char * NomFichier = "tagada"; NomFichier = CStringToChar ("youppiii"); AfxMessageBox(NomFichier);
qualqu'un a une idée?
Merci
Partager