cstring 2 char - C++ - Programmation
Marsh Posté le 21-06-2002 à 20:16:43
y a pas une méthode genre c_str() comme pour les AnsiString de C++Builder ?
Marsh Posté le 21-06-2002 à 20:54:05
tu peux récupérer la chaine de la CString comme ceci :
Code :
|
Marsh Posté le 22-06-2002 à 13:51:44
Avec l'opérateur de cast (LPCSTR), une CString s'utilise de la même manière qu'un char* (tant qu'il s'agit d'une r-value).
Ex:
char buff[30];
CString tmp = "stach stach";
strcpy(buff,(LPCSTR) tmp);
Marsh Posté le 24-06-2002 à 12:26:26
Harkonnen a écrit a écrit : tu peux récupérer la chaine de la CString comme ceci :
|
Mais dans ce cas là, 'faut faire très gaffe, le buffer rendu par GetBuffer n'est pas constant, ms il devrait l'être !
Cette fonction ne devrait pas exister !
Marsh Posté le 24-06-2002 à 12:28:19
el_gringo a écrit a écrit : Mais dans ce cas là, 'faut faire très gaffe, le buffer rendu par GetBuffer n'est pas constant, ms il devrait l'être ! Cette fonction ne devrait pas exister ! |
Le buffer n'est pas constant tant que tu n'éxecutes pas ReleaseBuffer(). C'est pour ça qu'il faut l'éxecuter immédiatement après avoir obtenu le buffer.
Marsh Posté le 24-06-2002 à 13:58:32
Harkonnen a écrit a écrit : Le buffer n'est pas constant tant que tu n'éxecutes pas ReleaseBuffer(). C'est pour ça qu'il faut l'éxecuter immédiatement après avoir obtenu le buffer. |
Mais, ReleaseBuffer, ça le rend invalide ce buffer après, non ?
Marsh Posté le 24-06-2002 à 14:03:40
Oui, tout à fait. En fait je viens de m'apercevoir que j'ai marqué une grosse connerie : tant que tu n'éxecutes pas ReleaseBuffer(), le buffer reste constant.
Idiot que je suis !!!
Marsh Posté le 21-06-2002 à 19:56:16
sous vc++ comment transormer une cstring en char[30] par exemple?
---------------
Borland rulez: http://pages.infinit.net/borland