cs_ben1964
Messages postés12Date d'inscriptionsamedi 6 décembre 2003StatutMembreDernière intervention20 octobre 2005
-
3 mars 2004 à 23:57
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 2004
-
5 mars 2004 à 09:28
j'ai une fonct. API Windows qui necessite un arg. de type LPSTR et la variable que j'ai est de type CString J'ai essayer
ça :
LPSTR a;
CString ma_variable;
ma_variable="OK";
a=(char*) &ma_variable;
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 5 mars 2004 à 09:28
Salut !
j'ai déjà répondu via l'article suivant auquel tu as toi même donné une solution
En résumé :
Sans copier le Buffer :
utiliser l'opérateur LPCTSTR de la classe CString :
CString ma_variable = "CaMarcheAussi";
printf( "Et ca, %s\n", (LPCTSTR)ma_variable );
ou utiliser la méthode GetBuffer
char* a;
CString ma_variable;
ma_variable="OK";
a=ma_variable.GetBuffer(ma_variable.GetLength());
Si les données sont à modifier GetBuffer/ReleaseBuffer
Avec copie du buffer :
allocation + copie
LPSTR a = new char[ma_variable.GetLength()+1];
strcpy(a, ma_variable);