J’essaie d’imprimer une chaîne de la manière suivante:
int main(){ ssortingng s("bla"); printf("%s \n", s); ....... }
mais tout ce que je reçois, c’est ce charabia aléatoire.
Pouvez-vous s’il vous plaît expliquer pourquoi?
Parce que %s
indique un caractère char*
, pas un std::ssortingng
. Utilisez s.c_str()
ou mieux encore, utilisez iostream:
#include #include using namespace std; int main() { ssortingng s("bla"); std::cout << s << "\n"; }
Vous devez utiliser c_str pour obtenir l’équivalent c-ssortingng du contenu de la chaîne, car printf
ne sait pas comment imprimer un object chaîne.
ssortingng s("bla"); printf("%s \n", s.c_str());
Au lieu de cela, vous pouvez simplement faire:
ssortingng s("bla"); std::cout<
J’ai réussi à imprimer la chaîne en utilisant “cout” quand je suis passé de:
#include
à
#include
J’aimerais comprendre pourquoi c’est important …
Pourquoi n’utilisez-vous pas
char s[]="bla";