[C++] std::String in const char konvertieren
Hehe, die Erfahrung hatte ich mit C++ auch schon oft, am Tag darauf funktionierteX0r hat geschrieben:>Du meinst zu const char* oder? probier mal str.c_str()...
Hatte ich ja, hat aber nicht funktioniert. Jetzt gehts plötzlich...
naja, ich sollte dann mal besser schlafen gehen.
es plötzlich und ich hätte schwören können im Grunde nichts geändert zu haben...

Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Nein, dafür nimmt man stringstreams:X0r hat geschrieben:So, nächstes Problem. Ich lese aus einer Datei einen Integer-Wert aus. Den muss ich einer Funktion nun als const char übergeben. Normalerweise kann man ja die itoa Funktion benutzen, wäre aber kein gutes C++, oder?
Code: Alles auswählen
#include <sstream>
//...
int zahl = 42;
stringstream ss;
ss << zahl;
string zahlstr = ss.str();
deine_funktion(zahlstr.c_str());
EDIT: Mann kann auch den lexical cast aus der Boost Library dafür nehmen,
halte ich in diesem Fall allerdings für sinnlos weil der dafür auch nur intern
nen stringstream nutzt.
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Naja, den angesprochenen lexical cast aus Boost, oder du nimmst halt itoa,X0r hat geschrieben:Funktioniert zwar, aber ist irgendwie nicht so schön, wenn man "temp"-objekte erstellen muss. Gibts ne andere Möglichkeit?
das benützen viele noch. Stringstreams sind halt der empfohlene Weg für sowas...
Oder schreib dir selber ne Funktion

EDIT: Ach sprintf gibts auch noch, ist aber als unsicher verschrien (und außerdem C und nicht C++)
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Hm,
irgendwie kommt mir C++ gerade wie Chinesisch vor. Lange nix mehr gemacht, alles verlernt...
Es geht darum, dass ich eine Datei lesen will, in der sowohl Strings, als auch Integers gespeichert sind. Kann man ja mit der ifstream klasse auslesen, aber wie funktioniert das, wenn der inhalt gemischt ist(halt mal string, mal integer, mal float etc.)?
geht irgendwie nicht.
irgendwie kommt mir C++ gerade wie Chinesisch vor. Lange nix mehr gemacht, alles verlernt...
Es geht darum, dass ich eine Datei lesen will, in der sowohl Strings, als auch Integers gespeichert sind. Kann man ja mit der ifstream klasse auslesen, aber wie funktioniert das, wenn der inhalt gemischt ist(halt mal string, mal integer, mal float etc.)?
Code: Alles auswählen
myfile->getline(test,sizeof(test));
myfile->read(reinterpret_cast<char*>(&version),sizeof(int));
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
[ot]
Welche IDE verwendest du eigentlich? Bin gerade dabei mir die Visual C++ Express Editon zu installieren. Was kostenlose IDE's angeht soll es angeblich die beste sein.
Hier zu finden:
http://www.microsoft.com/germany/Expres ... press.aspx
Ansonsten vielleicht noch Code::Blocks. Aber taugt die was?
[/ot]
Welche IDE verwendest du eigentlich? Bin gerade dabei mir die Visual C++ Express Editon zu installieren. Was kostenlose IDE's angeht soll es angeblich die beste sein.
Hier zu finden:
http://www.microsoft.com/germany/Expres ... press.aspx
Ansonsten vielleicht noch Code::Blocks. Aber taugt die was?
[/ot]
Windows 10 Pro, 64-Bit / Outtakes | Derek