Ordner erstellen unter Windows UND Linux



  • Durch die "Bedingte Kompilierung" kann ja eine Auswahlabfrage je nach Betriebssystem ermöglicht werden.
    Leider funktioniert das mit dem mkdir nicht so ganz 😞

    #ifdef __linux__
       #include <sys/types.h>
       #include <sys/stat.h>
       #include <unistd.h>
    #elif _WIN32__ || __MS_DOS__
        #include <dir.h>
    #endif
    
    #ifdef __linux__
       if(mkdir(progparam.pfadhtmlausgabe,0711) == -1){ 
          printf("Konnte kein neues Verzeichnis erstellen\n");
       }else{
          printf("Neues Verzeichnis namens %s erstellt\n",pfadname);
        }
    #elif _WIN32__ || __MS_DOS__
       if(mkdir(progparam.pfadhtmlausgabe) == -1){
          printf("Konnte kein neues Verzeichnis erstellen\n");
       }else{
          printf("Neues Verzeichnis namens %s erstellt\n",progparam.pfadhtmlausgabe);
        }
    
    #endif
    

    kann mir einmal mehr jemand weiterhelfen?

    Gruß
    Dominik



  • WAS funktioniert bei WELCHEM mkdir nicht so ganz?



  • ja, also unter windows ist er nicht in den win32 bereich gesprungen.
    aber ich denke, ich habe den fehler schon gefunden, da ich cygwin verwende bzw. verwendet habe, läuft das programm wie unter unix.

    Gruß
    Dominik



  • Ich glaube nicht, dass es wie unter Unix läuft. Sondern eher, dass jeder Compiler andere Präprozessor-Direktiven einsetzt.



  • ich will unter Windows mit der DevCpp IDE ein Konsolenprogramm schreiben welches Verzeichnisse erstellt (auch Umlaute in den Dateinamen). Unter Windows werden dann die Umlaute nicht richtig dargestellt -> falsche Kodierung kann ich den Charset oda etwas anderes in meinem C-File ändern damit die Verzeichnisnamen im Explorer richtig dargestellt werden ?

    Der Verzeichnisname wird mit fgets/scanf im Dos fenster eingelesen

    mfg
    randy


Anmelden zum Antworten