Bibliothèque de chaînes C ++ - c_str

La description

Il renvoie un pointeur vers un tableau qui contient une séquence de caractères terminée par un nul (c'est-à-dire une chaîne C) représentant la valeur actuelle de l'objet chaîne.

Déclaration

Voici la déclaration pour std :: string :: c_str.

const char* c_str() const;

C ++ 11

const char* c_str() const noexcept;

C ++ 14

const char* c_str() const noexcept;

Paramètres

aucun

Valeur de retour

Il renvoie un pointeur vers un tableau qui contient une séquence de caractères terminée par un nul (c'est-à-dire une chaîne C) représentant la valeur actuelle de l'objet chaîne.

Des exceptions

si une exception est levée, il n'y a aucun changement dans la chaîne.

Exemple

Dans l'exemple ci-dessous pour std :: string :: c_str.

#include <iostream>
#include <cstring>
#include <string>

int main () {
   std::string str ("Please divide this sentance into parts");

   char * cstr = new char [str.length()+1];
   std::strcpy (cstr, str.c_str());

   char * p = std::strtok (cstr," ");
   while (p!=0) {
      std::cout << p << '\n';
      p = std::strtok(NULL," ");
   }

   delete[] cstr;
   return 0;
}

L'exemple de sortie devrait être comme ceci -

Please
divide
this
sentance
into
parts