Ordner erstellen



  • Hallo,

    wie erstelle ich am besten einen neuen Ordner, bzw. überprüfe ob er schon vorhanden ist. Gibt es da was anderes als create? In der MSDN finde ich nichts brauchbares darüber.

    Danke



  • //===========================================================================
    // CreateDirectoryRec
    //===========================================================================
    //
    //  Description:
    //    Diese Funktion kann ein Verzeichnis erstellen. Im Gegensatz 
    //    zu CreateDirectory können auch mehrere Verzeichnisebenen 
    //    gleichzeitig erstellt werden.
    //
    //  Parameters:
    //    LPCTSTR lpszDir
    //      Der Pfad des Verzeichnisses
    //
    //  Return value:
    //    bool
    //      true bei Erfolg, false bei Fehler
    //
    //===========================================================================
    bool CreateDirectoryRec(LPCTSTR lpszDir)
    {
        // Verzeichnis erstellen
        if(CreateDirectory(lpszDir, NULL))
            return true;
        if(GetLastError() == ERROR_ALREADY_EXISTS)
            return true;
    
        // Unterverzeichnis erstellen
        CString sParentDir(lpszDir);
        int iLastSep = sParentDir.ReverseFind('\\');
        if(iLastSep == -1)
            return false;
    
        sParentDir = sParentDir.Left(iLastSep);
        if(!CreateDirectoryRec(sParentDir))
            return false;
    
        // Nochmal versuchen
        if(CreateDirectory(lpszDir, NULL))
            return true;
        if(GetLastError() == ERROR_ALREADY_EXISTS)
            return true;
    
        // Nicht behebbarer Fehler!
        return false;
    }
    


  • Hallo,

    vielen Dank für die schnelle Reaktion.
    Manche Sachen sind wirklich blöd zu finden.

    Gruß Markus



  • @Mod
    Bitte in die FAQ.

    Devil


Anmelden zum Antworten