Datei in Unterordner erstellen mit ofstream funktioniert nur beschränkt...



  • entschuldigung, das habe ich nicht bedacht... ist ja klar, sonst würde die datei im ordner ..\dir erstellt werden... wie dumm von mir



  • Gibts vielleicht noch ne Möglichkeit, ohne das sich kurz ne Konsole auftut?

    mfG



  • NAME
    mkdir - create a directory

    SYNOPSIS
    #include <sys/stat.h>
    #include <sys/types.h>

    int mkdir(const char *pathname, mode_t mode);

    DESCRIPTION
    mkdir attempts to create a directory named pathname.
    [snip]
    CONFORMING TO
    SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 documents additional EIO, EMULTI-
    HOP and ENOLINK error conditions; POSIX.1 omits ELOOP.
    [snip]



  • Die Funktion mkdir() hab ich auch probiert, hab auch ne Parameterinfo bekommen, aber kein Header gefunden, in dem er die Funktion findet... Und deinen Snip versteh ich nich...

    Ich hab auch noch ne neue Frage, wo wir beim Ordner erstellen sind: Wie kann ich einen Ordner bzw. Dateien löschen?

    mfG



  • ich glaube das war für unix/linux.

    win:

    #include <dos.h>
    //...
    //das gibts auch:
    chdir(".."); //z.b.
    mkdir("verzeichnis");
    


  • Oder du machst es mit boost::filesystem . Auf www.boost.org in der Dokumentation findest du Rat, wie man es benutzt.



  • <dos.h> scheint auch nicht zu funktionieren, ich krieg immernoch den fehler, mkdir unbekannter bezeichner... und löschen geht gar nich?



  • So, hab jetzt was gefunden, was bei mir funktioniert: int _mkdir( const char *dirname) mit dem header <direct.h>... Danke an alle! _rmdir löscht nen Ordner, dieser muss allerdings leer sein. Eigentlich geht es mir auch nur um das leeren eines Ordners. Falls er nämlich nicht existiert, soll er erstellt werden (gelöst), und wenn er existiert, soll er geleert werden (noch nicht gelöst). Ich dachte also, ich lösche den Ordner dann, um ihn wieder neu zu erstellen, aber wenn ich ihn eh leeren muss, muss ich ihn auch nicht löschen etc. Wie ich die Dateien im Ordner durchiteriere, weiß ich, nicht aber, wie ich ne Datei mit Wissen ihres Namens löschen kann. Bin dankbar für jeden Ansatz...

    mfG



  • Oh man, der reinste Horror was hier abgeht. Keiner hat nen Plan, bis auf ChrissiB. Die Boost-Library ist für einen C++ Programmierer unverzichtbar. Wer diese immer noch nicht installiert hat, möge dies bitte nachholen.

    Und benutzt boost::filesystem::create_directory() dann funktioniert es auch mit dem Erstellen von Verzeichnissen.

    Alles andere sind Krüppellösungen.



  • Naja, ich hab jetzt auch das löschen geschafft, mit remove (const char *filename)... Werd mir die Boost-Library mal ansehen, hab jetzt aber leider nicht die Zeit, mich noch wo einzuarbeiten... Trotzdem danke...

    mfG


Anmelden zum Antworten