Datei in unbekannten Ordner erstellen



  • Hallo, ich nochmal!

    Da meine Frage von eben relativ schnell beantwortet wurde, habe ich auch schon gleich die nächste!

    Ich würde gern in den Ordner, dessen Name der User meines Programmes selbst wählen kann, ein Text Dokument (mit Inhalt) erstellen.

    Habe jetzt unter meinen Includes das hier stehen:

    char ordner[MAX_PATH];
    

    Und ich habe in meinem MenüDialog -der genau unter dem char steht- das hier stehen:

    GetDlgItemText(hDlg,IDC_EDIT1,ordner,MAX_PATH);
    _mkdir(ordner);
    

    Nun möchte ich eine Textdatei in den gerade erstellten Ordner -dessen Name mir ja UNBEKANNT ist- erstellen.

    Das wollte ich so machen:

    string blub = ordner + "\\Datei.txt";
    ofstream datei(blub, ios_base::out | ios_base::app);
    datei<<"Blablatest";
    datei.close();
    

    Das klappt aber leider nicht,... aber ich weiß nicht wie ich es anders machen soll?

    Folgende Errors kriege ich:

    error C2110: cannot add two pointers
    error C2664: '__thiscall std::basic_ofstream<char,struct std::char_traits<char> >::std::basic_ofstream<char,struct std::char_traits<char> >(const char *,int)' : can
    not convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    

    Wäre sehr dankbar für eure hilfe!

    MfG Flare



  • Der Name ist dir doch nicht unbekannt.

    string blub = ordner + "\\Datei.txt";
    

    Der Ausdruck "ordner" ist ein Zeiger auf das erste Element des arrays.
    Somit ergibt es keinen Sinn zu diesem etwas hinzuzuaddieren.

    Mach's halt so:

    string blub = string(ordner) + "\\Datei.txt";
    

    MfG


Anmelden zum Antworten