Biblioteca de cadenas de C ++ - c_str

Descripción

Devuelve un puntero a una matriz que contiene una secuencia de caracteres terminada en nulo (es decir, una cadena C) que representa el valor actual del objeto de cadena.

Declaración

A continuación se muestra la declaración de 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;

Parámetros

ninguna

Valor devuelto

Devuelve un puntero a una matriz que contiene una secuencia de caracteres terminada en nulo (es decir, una cadena C) que representa el valor actual del objeto de cadena.

Excepciones

si se lanza una excepción, no hay cambios en la cadena.

Ejemplo

En el siguiente ejemplo para 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;
}

La salida de muestra debería ser así:

Please
divide
this
sentance
into
parts