Je comprends c_str
convertit une chaîne, qui peut être ou non à terminaison nulle, en une chaîne à terminaison nulle.
Est-ce vrai ? Pouvez-vous donner des exemples ?
Je comprends c_str
convertit une chaîne, qui peut être ou non à terminaison nulle, en une chaîne à terminaison nulle.
Est-ce vrai ? Pouvez-vous donner des exemples ?
Vous l'utiliserez lorsque vous encoderez/décoderez un objet de type chaîne de caractères que vous transférez entre deux programmes.
Supposons que vous utilisiez Base64 pour encoder un tableau en Python, et vous voulez ensuite le décoder en C++. Une fois que vous avez la chaîne que vous décodez à partir du décodage Base64 en C++. Pour la transformer en un tableau de flottants, tout ce que vous avez à faire est de.. :
float arr[1024];
memcpy(arr, ur_string.c_str(), sizeof(float) * 1024);
Il s'agit d'un usage assez courant, je suppose.
const char* c_str() const;
Elle renvoie un pointeur sur un tableau contenant un séquence à terminaison nulle de caractères (c'est-à-dire une chaîne C), représentant la valeur actuelle de l'objet chaîne.
Ce tableau comprend la même séquence de caractères que celle qui constitue la valeur de l'objet chaîne, plus un caractère nul de fin ('). \0 ') à la fin.
std::string str = "hello";
std::cout << str; // hello
printf("%s", str); // ,²/
printf("%s", str.c_str()); // hello
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.