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 😉


Anmelden zum Antworten