Freigeben über


basic_string::c_str

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

const value_type *c_str( ) const;

Rückgabewert

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

Hinweise

Die Objekte vom Typ string in der C++-Vorlagenklasse, die basic_stringchar ist,<> sind nicht unbedingt beendet ungültiges. Das NULL-Zeichen " \0 " wird als Sonderzeichen in einer C-Zeichenfolge verwendet, um die Oberfläche der Zeichenfolge zu markieren aber keine besondere Bedeutung in ein Objekt vom Typ string und ist möglicherweise Teil der Zeichenfolge nur 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 im C-Format 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_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: <Zeichenfolge>

Namespace: std

Siehe auch

Referenz

basic_string-Klasse