Freigeben über


basic_string::data

Konvertiert den Inhalt einer Zeichenfolge in ein Zeichenarray.

const value_type *data( ) const;

Rückgabewert

Ein Zeiger auf das erste Element des Arrays, das den Inhalt der Zeichenfolge enthält, oder, für ein leeres Array, ein Nicht-NULL-Zeiger, der nicht dereferenziert werden.

Hinweise

Die Objekte vom Typ string in dem C++-Vorlagenklasse basic_string <Zeichen> sind nicht unbedingt beendet ungültiges. Der Rückgabetyp für Daten ist keine gültige C-Zeichenfolge, da kein NULL-Zeichen angefügt abruft. Das NULL-Zeichen " \0 " wird als Sonderzeichen in einer C-Zeichenfolge verwendet, um die Oberfläche der Zeichenfolge zu markieren, hat jedoch keine besondere Bedeutung in ein Objekt vom Typ string und ist möglicherweise Teil des String-Objekts wie beliebige andere Zeichen.

Es gibt eine automatische Konvertierung vom const char* in Zeichenfolgen, die Zeichenfolgenklasse stellt nicht für automatische Konvertierungen Zeichenfolgen von den im C-Format an Objekte des Typs basic_string <char> bereit.

Die zurückgegebene Zeichenfolge sollte nicht geändert werden, da diese den Mauszeiger zur Zeichenfolge NULL konnte, oder gelöscht werden, da die Zeichenfolge eine begrenzte Lebensdauer hat und die Klassenzeichenfolge gehört.

Beispiel

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

Anforderungen

Header: <Zeichenfolge>

Namespace: std

Siehe auch

Referenz

basic_string-Klasse