von string nach char[index]



  • moin!

    Habe ein Problem, und zwar will mein Compiler, dass ich bei

    ofstream Datei(Dateiname, ios::app);
    

    den Dateinamen als char angebe. Nun setzt sich mein Dateiname aus einer Variablen zusammen. Wenn ich strings habe, krieg ich die nicht zu einem char-array und wenn ich mehrere char-arrays habe, krieg ich die nicht zu einem zusammen. d. h. gibts ne möglichkeit string zu char-array zu konvertieren und wenn nicht, wie kann ich mehrere char-array zu einem machen?

    Mr. B



  • Mr. B schrieb:

    moin!
    d. h. gibts ne möglichkeit string zu char-array zu konvertieren

    str.c_str();

    und wenn nicht, wie kann ich mehrere char-array zu einem machen?

    strcat() aus <cstring>



  • Tut mir Leid, bin zu doof dafür. War grad in der CPP-Reference und dann habe ich mich selbst verwirrt.

    Ich habe einen String namens Jahr.
    Nun soll die Datei "termine" + Jahr + ".fkl" heißen.
    Dazu muss ich Jahr.c_str() schreiben, aber irgendwie funktioniert das nicht. Kann mir mal einer die drei Zeilen Code einfach mit den Variablen schreiben? So lern ich das viel schneller! 🙂 😉

    Danke im Voraus,
    Mr. B



  • Hi!

    z.B. so:

    std::string dateiname("termine" + Jahr + ".fkl");
    std::ofstream datei(dateiname.c_str(), ios::app);
    

    Code-Hacker



  • std::ofstream datei( (std::string("termine")+Jahr+".fkl").c_str(), ios::app);
    


  • Die Variante davor hab ich besser verstanden, aber im Nachhinein ist die zweite natürlich nicht schlecht, weil man so den Dateinamen genau an der Stelle initialisiert, wenn man ihn braucht - macht weniger Sorgen... 🙂

    Danke! 🙂 👍


Log in to reply