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