12 réponses
mamiemando
- Messages postés
- 29493
- Date d'inscription
- jeudi 12 mai 2005
- Statut
- Modérateur
- Dernière intervention
- 8 janvier 2021
Non il faut utiliser c_str() car data() n'est pas forcément fini d'un '\0' :
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
Ainsi :
Bonne chance
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
Ainsi :
#include <string> #include <iostream> int main(){ const std::string test = "plop"; std::cout << plop.c_str() << std::endl; return 0; }
Bonne chance
spinakur
oups boulette :
dsl
std::string test = "salut"; const char* resalut = test.data(); std::cout << resalut << std::endl;
dsl
DarkBul
Bonjour,
spidag ton code retourne: error C2660: 'system' : function does not take 2 arguments
corbeau ton code retourne: error C2039: 'cs_str' : is not a member of 'std::basic_string<_Elem,_Traits,_Ax>'
spidag ton code retourne: error C2660: 'system' : function does not take 2 arguments
corbeau ton code retourne: error C2039: 'cs_str' : is not a member of 'std::basic_string<_Elem,_Traits,_Ax>'
DarkBul
Bonjour,
Spidag : error C2664: 'system' : cannot convert parameter 1 from 'std::basic_string<_Elem,_Traits,_Ax>' to 'const char *'
Merci Corbeau c'est nikel.
Spidag : error C2664: 'system' : cannot convert parameter 1 from 'std::basic_string<_Elem,_Traits,_Ax>' to 'const char *'
Merci Corbeau c'est nikel.
mamiemando
- Messages postés
- 29493
- Date d'inscription
- jeudi 12 mai 2005
- Statut
- Modérateur
- Dernière intervention
- 8 janvier 2021
Fais un truc dans ce genre :
std::ostringstream -- str() --> std::string -- c_str() --> const char *
Bonne chance
#include <sstream> #include <iostream> int main(){ int x = 5; const char *str = "plop"; double y = 69.28; std::ostringstream oss; oss << x << ' ' << str << '\t' << y; const char *res = oss.str().c_str(); std::cout << res << std::endl; return 0; }
std::ostringstream -- str() --> std::string -- c_str() --> const char *
Bonne chance
(I read french fine, but I won't embarrass myself trying to write it)
Merci!