bonjour,
Je dois travailler avec un bout de code qui est programmé en C++, malheureusement je ne connais pas ce language.
comment fait on pour mettre dans un std::basic_string un char * ???
bonjour,
Je dois travailler avec un bout de code qui est programmé en C++, malheureusement je ne connais pas ce language.
comment fait on pour mettre dans un std::basic_string un char * ???
j'ai essayé sprintf(rs_block.data, "%s", bb->MC);
avec rs_block.data un std::basic_string
et bb->MC un char *
mais j'obtiens un msg d'erreur
'sprintf' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'char *'
Hop...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char *texte = "toto"; std::string t (texte);
ok, j'avais pas lu la faq
http://c.developpez.com/faq/cpp/?pag...INGS_from_char
par contre pour convertir un int* en string faut il que je me serve de ostringstream ?? ou il existe déjà quelque chose ?
un int* ???
oui j'ai un tableau de nombre que je veux trancrire en std::string
peut être que je m'exprime pas bien mais je connais absolumeznt rien en c++
mais j'ai trouvé des petits trucs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int t; char mot[40]; for(int j=0;j<40;j++) { t = bb->MC[j]; mot[j] = (char) t; } rs_block.data.assign (mot);
Un tableau de nombre , c'est pas pareil...
Tu boucles sur ton tableau, et c'est des int, pas des int*... Ce qui est faisable
Au passage, int* c'est un pointeur sur un int, pas un tableau...
Et pour caster, c'est static_cast<int> : mieux!!!
Un dernier truc ??? vector à la place de int* ??? EN C++ c'est plus correct![]()
bien sur tu as raison si je fait avec des [j] ce sont des int.
j'aurais donc voulu m'éviter de faire une boucle et dans ce cas là on a int *bb->MC qui est bien un pointeur sur un int.
Partager