Condividi tramite


basic_string::data

Converte il contenuto di una stringa in una matrice di caratteri.

const value_type *data( ) const;

Valore restituito

Un puntatore al primo elemento della matrice contenente il contenuto della stringa, o, per una matrice vuota, un puntatore non Null che non può dereferenziare.

Note

Gli oggetti di tipo string che appartengono a char basic_string <della classe modello C++> non sono necessariamente con terminazione null. Il tipo restituito per data non è una stringa valida c#, perché nessun carattere null ottiene aggiunto. "\ 0 " Del carattere null viene utilizzato come carattere speciale in c dalla stringa per contrassegnare la fine della stringa, ma non ha un significato speciale in un oggetto di tipo string e può essere una parte dell'oggetto stringa come qualsiasi altro carattere.

Esiste una conversione automatica da const Carattere a destra esteso le stringhe, ma la classe string non offre le conversioni automatiche da stringhe di tipo C agli oggetti di tipo basic_string <char>.

La stringa restituita non deve essere modificata, in quanto ciò potrebbe invalidare il puntatore alla stringa, o eliminato, poiché la stringa ha una durata limitata ed è posseduta dalla stringa della classe.

Esempio

// 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;
}
  

Requisiti

Intestazione: <string>

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe basic_string