Konvertieren von std::string in char* oder char[]
Bei der Aufgabe, einen std::string in ein char zu konvertieren oder char[]-Datentyp ist ein weit verbreitetes Missverständnis, dass dies direkt erfolgen kann. Diese Annahme ist jedoch falsch, da std::string und char unterschiedliche Datentypen sind. Diese direkte Zuweisung führt zu einem Kompilierungsfehler ähnlich dem folgenden: „Fehler: 'std::string' kann nicht in 'char' konvertiert werden ...“.
Um diese Konvertierung erfolgreich durchzuführen, muss c_str( )-Methode von std::string sollte verwendet werden. Diese Methode gibt einen Zeiger auf eine nullterminierte Zeichenfolge im C-Stil zurück und gewährt Zugriff auf die zugrunde liegende Zeichenfolge. Durch die Verwendung von c_str() können Sie eine konstante char*-Darstellung des std::string erhalten.
Alternativ kann die data()-Methode verwendet werden, wenn ein nicht-konstantes char* erforderlich ist. Es stellt einen Zeiger auf das erste Zeichen des std::string bereit.
Zusätzlich zu diesen Techniken gibt es noch andere praktikable Optionen:
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen std::string sicher in char* oder char[] in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!