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 der Typzeichenfolge gehörend der C++-Vorlagenklasse, die <char> basic_string ist, sind nicht unbedingt beendet NULL.Der Rückgabetyp für Daten ist keine gültige C-Zeichenfolge, da kein NULL-Zeichen angefügt wird.NULL-Zeichen-" \ 0 " wird als Sonderzeichen in eine - Zeichenfolge verwendet, um das Ende der Zeichenfolge zu markieren, aber keine besondere Bedeutung in einem Objekt der Typzeichenfolge und ist ein Teil des String-Objekts wie jedes andere Zeichen.
Es gibt eine automatische Konvertierung vom const char* in Zeichenfolgen, aber die Zeichenfolgenklasse stellt nicht für automatische Konvertierungen von Zeichenfolgen in C-Format auf Objekte vom Typ basic_string <char> bereit.
Die zurückgegebene Zeichenfolge darf nicht geändert werden, da diese den Zeiger auf die Zeichenfolge NULL werden konnte, oder gelöscht werden, da die Zeichenfolge eine begrenzte Lebensdauer verfügt und durch die Klassenzeichenfolge übergeordnet ist.
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: <string>
Namespace: std