? [C++] Comment copier un string dans un char[] - Programmation
Marsh Posté le 13-07-2001 à 11:58:53
essaie ca :
char chara[350];
string buffer="toto";
memset(chara,0,350);
copy(buffer.begin(),buffer.end(),chara);
Au fait, tu utilises bien les STL?
Marsh Posté le 13-07-2001 à 13:37:54
Ca marche.
Sinon, comment enlever des caractères d'un string?
J'aimerais enlever les 7 derniers caractères d'un string, on fait ça je pense (comme je veux copier la string sans les 7 caractères dans un char[]):
char chara[350;]
string buffer;
copy(buffer.begin(), buffer.end() - 7, chara);
Marsh Posté le 13-07-2001 à 14:13:23
rhalala, et la doc!!!
pour avoir un pointeur sur la chaine de caractère d'une string, il y a la méthode c_str();
const char * p_buffer = mystring.c_str();
char p_buffer2[64];
strncpy( pbuffer2, mystring.c_str(), 64);
//ou
char * p_buffer3;
p_buffer3 = new char[mystring.size()+1];
strcpy(p_buffer3, mystring.c_str());
//pour instancier une string avec 7 caracteres en moins:
string minstring(mystring, 0, mystring.size()-7);
Marsh Posté le 13-07-2001 à 11:12:00
J'aimerais copier le contenu d'un string dans un char[], j'ai essayé:
char chara[350];
string buffer;
sprintf(chara, buffer); --> celui là ne compile pas
et sprintf(chara, "%s", buffer); --> celui là fait planter le programme