2 Stimmen

Umwandlung von char * in string

Hat jemand eine Idee, wie man char* in string konvertiert. Eigentlich habe ich eine Funktion, die Wert als char* zurückgibt und jetzt muss ich speichern/kopieren std::string. Ich habe etwas versucht wie

char *sResult = (char*)malloc(1024); std:string line; line= line+ sResult

Vielen Dank und herzliche Grüße, Sam

9voto

kellogs Punkte 2737

Wie wäre es mit

std::string line(szResult);

9voto

Armen Tsirunyan Punkte 125469

Es gibt eine implizite Umrechnung de const char* a std::string (über nicht-expliziten Konstruktor). Die folgenden Beispiele funktionieren also alle (angenommen, ch ist const char* o char* )

std::string s (ch);
std::string s = ch;
s = ch;
f(ch); //where f is declared to take std::string
etc

2voto

johannes Punkte 15447

Die Klasse std::string hat einen Konstruktor, der eine const char * so dass Sie Folgendes tun können

char *foo;
/* .... initialize foo ... */
std::string some_string(foo);

1voto

hB0 Punkte 1912

Std:string line; line.append(sResult); oder std::string line(sResult);

1voto

Wenn Sie eine Datenzeile haben, die nicht unbedingt eine C-Zeichenkette ist, verwenden Sie den Konstruktor von string

std::string s(sResult, sSize);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X