String zu Char* || cin + char* ?
-
Ich möchte das der benutzer einen Datei nahmen angeben kann und die Datei dann geöffnet wird, doch dazu muss ich irgendwie das was der Benutzer eingibt in
eine char* variable kriegn.
Nun wollt ich direkt per cin was rein schreiben doch das geht ja irgendwie nicht
Dann wollt ichs in nen String schreiben und den dann zu nem char* machen ... find ich aber auch keine lösung für ... wisst ihr wie ich sowas realisieren könnte ?
-
string a; cin>>a; fstream b(a.c_str());
halt so in etwa^^
-
hi
ne mögliche Lösung:
int main() { std::string input_str; std::cin >> input_str; char *c_style_string = new char[input_str.size() + 1]; std::strncpy( c_style_string , input_str.c_str() , input_str.size() ); }
[edit]
Wie war das noch gleich? Wer lesen kann ist klar im Vorteil.
Tja, ich sollte vielleicht erst mal richtig lesen bevor ich irgendwas schreibe...[/edit]
-
@otze:
Das funzt echt wunderbar anstatt ifstream in(blub) was bei mir vorher nen char* wert war nehm ich jetzt...
ifstream in(blub.c_str()); wobei blub dann ne String variable ist ... nur was genau macht denn das c_str() nun mit blub ?
-
es gibt einfach nur den inhalt des strings als const char* zurück