basic_string::c_str

Konvertiert den Inhalt einer Zeichenfolge als er-ähnlich a-c, auf NULL endende Zeichenfolge.

const value_type *c_str( ) const;

Rückgabewert

Ein Zeiger auf die Version im C-Format der aufrufenden Zeichenfolge.Der Zeigerwert ungültig, nachdem er eine nicht konstante Funktion, einschließlich den Destruktor, in der basic_string-Klasse auf dem Objekt aufgerufen hat.

Hinweise

Die Objekte der Typzeichenfolge gehörend der C++-Vorlagenklasse, die<char> basic_string ist, sind nicht unbedingt beendet NULL.NULL-Zeichen-" \ 0 " wird als Sonderzeichen in eine - Zeichenfolge verwendet, um das Ende der Zeichenfolge zu markieren hat jedoch keine besondere Bedeutung in einem Objekt der Typzeichenfolge und ist ein Teil der Zeichenfolge 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 im C-Format darf nicht geändert werden, da sie die 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_c_str.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

Siehe auch

Referenz

basic_string Class