Compartilhar via


basic_string::data

Converte o conteúdo de uma cadeia de caracteres em uma matriz de caracteres.

const value_type *data( ) const;

Valor de retorno

Um ponteiro para o primeiro elemento da matriz que contém os conteúdos de cadeia de caracteres, ou, para uma matriz vazia, um ponteiro NULL que não pode ser cancelado.

Comentários

Os objetos de cadeia de caracteres do tipo que pertencem ao char> basic_string <da classe do modelo C++ não são necessariamente nulos encerrados. O tipo de retorno para data não é uma C - cadeia de caracteres válido, pois nenhum caractere nulo obtém anexado. “De caractere nulo \ 0 " é usado como um caractere especial em c a cadeia de caracteres para marcar o final da cadeia de caracteres, mas não tem nenhum significado especial em um objeto de cadeia de caracteres de tipo e pode ser uma parte do objeto de cadeia de caracteres como qualquer outro caractere.

Há uma conversão automática de const char* em cadeias de caracteres, mas a classe de cadeia de caracteres não fornece conversões automático de cadeias de caracteres de C - estilo para objetos de tipo basic_string <char>.

A cadeia de caracteres retornado não deve ser modificada, pois isso pode invalidar o ponteiro para a cadeia de caracteres, ou ser excluída, porque a cadeia de caracteres tem um tempo de vida limitado e pertence a cadeia de caracteres da classe.

Exemplo

// basic_string_data.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) 
{
   using namespace std;

   string str1 ( "Hello world" );
   cout << "The original string object str1 is: " 
        << str1 << endl;
   cout << "The length of the string object str1 = " 
        << str1.length ( ) << endl << endl;

   // Converting a string to an array of characters
   const char *ptr1 = 0;
   ptr1= str1.data ( );
   cout << "The modified string object ptr1 is: " << ptr1 
        << endl;
   cout << "The length of character array str1 = " 
        << strlen ( ptr1) << endl << endl;

   // Converting a string to a C-style string
   const char *c_str1 = str1.c_str ( );
   cout << "The C-style string c_str1 is: " << c_str1 
        << endl;
   cout << "The length of C-style string str1 = " 
        << strlen ( c_str1) << endl << endl;
}
  

Requisitos

Cabeçalho: <cadeia de caracteres>

Namespace: std

Consulte também

Referência

Classe basic_string