Biblioteca de String C ++ - c_str

Descrição

Ele retorna um ponteiro para uma matriz que contém uma sequência de caracteres terminada em nulo (ou seja, uma string C) representando o valor atual do objeto string.

Declaração

A seguir está a declaração para 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

Nenhum

Valor de retorno

Ele retorna um ponteiro para uma matriz que contém uma sequência de caracteres terminada em nulo (ou seja, uma string C) representando o valor atual do objeto string.

Exceções

se uma exceção for lançada, não haverá mudanças na string.

Exemplo

No exemplo abaixo 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;
}

O exemplo de saída deve ser assim -

Please
divide
this
sentance
into
parts