Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1495 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  cstring 2 char

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

cstring 2 char

n°163657
os2
Posté le 21-06-2002 à 19:56:16  profilanswer
 

sous vc++ comment transormer une cstring en char[30] par exemple?


---------------
Borland rulez: http://pages.infinit.net/borland
mood
Publicité
Posté le 21-06-2002 à 19:56:16  profilanswer
 

n°163659
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-06-2002 à 20:16:43  profilanswer
 

y a pas une méthode genre c_str() comme pour les AnsiString de C++Builder ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°163664
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2002 à 20:54:05  profilanswer
 

tu peux récupérer la chaine de la CString comme ceci :

Code :
  1. CString test("hello world" );
  2. LPTSTR dest = NULL;
  3. dest = test.GetBuffer();
  4. test.ReleaseBuffer();


---------------
J'ai un string dans l'array (Paris Hilton)
n°163789
smaragdus
whores, drugs & J.S. Bach
Posté le 22-06-2002 à 13:51:44  profilanswer
 

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);

n°164489
El_gringo
Posté le 24-06-2002 à 12:26:26  profilanswer
 

Harkonnen a écrit a écrit :

tu peux récupérer la chaine de la CString comme ceci :

Code :
  1. CString test("hello world" );
  2. LPTSTR dest = NULL;
  3. dest = test.GetBuffer();
  4. test.ReleaseBuffer();

 




 
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 !

n°164490
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-06-2002 à 12:28:19  profilanswer
 

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.


---------------
J'ai un string dans l'array (Paris Hilton)
n°164566
El_gringo
Posté le 24-06-2002 à 13:58:32  profilanswer
 

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 ?

n°164573
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-06-2002 à 14:03:40  profilanswer
 

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 !!!


---------------
J'ai un string dans l'array (Paris Hilton)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  cstring 2 char

 

Sujets relatifs
[C] char** et &char*cstring, char, mfc
Decouper une chaine de char en PhpmySQL : CHAR ou VARCHAR
[C] Float to char*[C++]comparaison int et char, comment faire ?
[MFC] format d'une CString pour une CListBox ?Comment retirer les espace entre 2 char
[JS]je doit convertir un int en char, comment faire?[c++] Est il possible de convertir une CString en Char ou vice versa?
Plus de sujets relatifs à : cstring 2 char


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR