Conversion de std string a const char *
Résolu/Fermé
DarkBul
-
22 oct. 2007 à 15:04
mamiemando Messages postés 33535 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 février 2025 - 27 févr. 2009 à 10:55
mamiemando Messages postés 33535 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 février 2025 - 27 févr. 2009 à 10:55
A voir également:
- Cannot convert 'string' to 'const char*'
- Qwerty to azerty - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Video to video - Télécharger - Conversion & Codecs
- Free youtube to mp3 converter avis - Télécharger - Conversion & Extraction
- Free cd to mp3 converter - Télécharger - Conversion & Extraction
12 réponses
mamiemando
Messages postés
33535
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
12 février 2025
7 828
13 mars 2008 à 23:30
13 mars 2008 à 23:30
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
oups boulette :
dsl
std::string test = "salut"; const char* resalut = test.data(); std::cout << resalut << std::endl;
dsl
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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>'
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
33535
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
12 février 2025
7 828
23 oct. 2007 à 10:03
23 oct. 2007 à 10:03
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
salut un peut tard
peut etre
mais tu devrais essayer ca :
la theoriquement ca devrais marcher
il se peut que j'ecrive dans le vide mais la reponse servira a ceux qui cherche encore
a+
peut etre
mais tu devrais essayer ca :
std::string test = "salut"; const char* resalut = test.data(); std::cout << test << std::endl;
la theoriquement ca devrais marcher
il se peut que j'ecrive dans le vide mais la reponse servira a ceux qui cherche encore
a+
mamiemando
Messages postés
33535
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
12 février 2025
7 828
27 févr. 2009 à 10:55
27 févr. 2009 à 10:55
Adri le sujet a presque un an et a déjà été résolu...
1 avril 2008 à 19:31
(I read french fine, but I won't embarrass myself trying to write it)
Merci!