L'opération suivante échoue avec l'erreur suivante prog.cpp:5:13: error: invalid conversion from ‘char’ to ‘const char*’
int main()
{
char d = 'd';
std::string y("Hello worl");
y.append(d); // Line 5 - this fails
std::cout << y;
return 0;
}
J'ai également essayé ce qui suit, qui compile mais se comporte de manière aléatoire au moment de l'exécution :
int main()
{
char d[1] = { 'd' };
std::string y("Hello worl");
y.append(d);
std::cout << y;
return 0;
}
Je suis désolé pour cette question stupide, mais j'ai cherché sur google, ce que j'ai pu voir c'est juste "char array to char ptr", "char ptr to char array", etc.
0 votes
Une erreur de compilation oui j'ai oublié quelle est l'erreur, mais c'est raisonnable.
3 votes
Vous avez de meilleures réponses ci-dessous, mais vous pouvez faire fonctionner votre deuxième exemple comme suit char d[2] = {'d', 0} ; ou simplement char d[2] = "d" ; En fait, vous avez besoin d'un 0 pour terminer votre chaîne de style c que vous passez à append.
0 votes
Bonne documentation : sgi.com/tech/stl/chaîne_de_base.html