const char* zusammensetzten
-
Hallo community,
habe ein kleines Problem.
Muss ein const char* (ein Filename) aus mehreren strings, oder chars[] und einem int zusammenbasteln mittels meines VS auf 32 und 64 bit. Hab mehrere Dinge ausprobiert, aber keine Erfolge verzeichnen können. Da es für 32bit portabel sein muss funktioniert auch itoa nicht...
Bin grade ziemlich ratlos, evt. hilft mir ja auch der entscheidende Hinweis.Danke und Gruß
Toby
-
http://www.cppreference.com/cppsstream/index.html
Stringstream erstellen und mit << operator alles reinpumpen.
-
cannot convert parameter 1 from '_STL::stringstream' to 'const char *'
bekomme ich als fehlermeldung wenn ich stringstreams benutze...
-
Dummdiddledidumm... schrieb:
cannot convert parameter 1 from '_STL::stringstream' to 'const char *'
bekomme ich als fehlermeldung wenn ich stringstreams benutze...
Zeige den Code...
Simon
-
int ownID = 11; //eine int woher auch immer tracestream << "erster_string" << ownID << "zweiter_string"; ofstream tracedat; tracedat.open(tracestream, ios_base::out || ios_base::trunc);
-
Und was verlagt ein std::ofstream::open(..) als 1. argument??
Ein const char*... Du gibst ihm ein std::ostringstream, das kann nicht gut gehen.Umwandeln geht so:
std::ostringstream oss; oss << "blabla"; const char* p = oss.str().c_str();
-
An den string des stringstreams kommst du mit str(), wie auch in der o.g. Dokumentation steht. string wederum hat eine Funktion c_str() mit der du char const* erhältst:
string filename = tracestream.str(); ofstream tracedat; tracedat.open(filename.c_str(), ios_base::out || ios_base::trunc);// Edit: Zu langsam

Greetz
-
const char* p = oss.str().c_str();
die Zeile hab ich gebraucht, dankö...