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