Prüfen ob Verzeichnis existiert

chriss_2oo4

Erfahrenes Mitglied
Hi,

Wie man schon am Header sehen kann, suche ich eine Funktion, mit deren Hilfe ich festellen kann ob ein Verzeichnis existiert oder nicht.

Google hab ich verwendet, hab allerdings nur Lösungen gefunden, die mir verraten ob eine Datei existiert.
Da ich eine DLL erstellen möchte stehen mir keine Funktionen von .NET o. Ä. zur Verfügung.

lg Chriss
 
Hi,

wenn ich in MSDN _mkdir in die Suche eingebe finde ich nichts was mir weiterhilft. Meine Entwicklungsumgebung (VS2005) kennt die Funktion anscheindend auch nicht.

Vielleicht kannst du mir ja noch ein paar detailliertere Tipps geben?

Lg Chriss
 
Benutz mal die Forensuche, naja, was solls, hier ne Funktion, die deine Probleme lösen sollte.
C++:
 bool DirectoryExists( const char* pzPath ){
    DIR *pDir;
    bool bExists = false;

    pDir = opendir (pzPath);

    if (pDir != NULL){
            bExists = true;
            closedir (pDir);
    }
    return bExists;
}
 
Hi,

wenn ich in MSDN _mkdir in die Suche eingebe finde ich nichts was mir weiterhilft. Meine Entwicklungsumgebung (VS2005) kennt die Funktion anscheindend auch nicht.

Vielleicht kannst du mir ja noch ein paar detailliertere Tipps geben?

Lg Chriss

? Merkwürdig ?

Versuchs mal hiermit: http://msdn2.microsoft.com/en-us/library/2fkk4dzw(VS.71).aspx

Ansonsten mit
Code:
_mkdir c++
google quälen ;)

Code:
int _mkdir(
   const char *dirname 
);
int _wmkdir(
   const wchar_t *dirname 
);

Each of these functions returns the value 0 if the new directory was created. On an error the function returns –1 and sets errno as follows:

EEXIST
Directory was not created because dirname is the name of an existing file, directory, or device.
ENOENT
Path was not found.

grüssle :)
 
Hi,

nochmals Danke für die Antworten! Ich hab beide Beispiele probiert, leider hat keins funktioniert.

Der Compieler sagt immer "undeclared identifier" komisch ist jedoch dass die IDE die Funktion kennt, sie zeigt mir nämlich sobald ich "_mkdir(" schreibe den gesamten Prototyp "int _mkdir( char * ... )" an.

Mit C++ hat man immer ärger -> was hab ich bitte falsch gemacht?

Code:
if( (_mkdir(a_pcFolderPath)) == 0 )
{
              iRet = INVALIDPATH;
              RemoveDirectory(a_pcFolderPath);
}

Das Beispiel von Ryu hab ich 1:1 übernommen -> funktioniert leider auch nicht: "undeclared identifier"

lg Chriss
 
Hi,

nochmals Danke für die Antworten! Ich hab beide Beispiele probiert, leider hat keins funktioniert.

Der Compieler sagt immer "undeclared identifier" komisch ist jedoch dass die IDE die Funktion kennt, sie zeigt mir nämlich sobald ich "_mkdir(" schreibe den gesamten Prototyp "int _mkdir( char * ... )" an.

Mit C++ hat man immer ärger -> was hab ich bitte falsch gemacht?

Code:
if( (_mkdir(a_pcFolderPath)) == 0 )
{
              iRet = INVALIDPATH;
              RemoveDirectory(a_pcFolderPath);
}

Das Beispiel von Ryu hab ich 1:1 übernommen -> funktioniert leider auch nicht: "undeclared identifier"

lg Chriss

Code:
#include <direct.h>
hast du den drin?

bzw. wenn du ein UNICODE Projekt hast, dann heisst der Kollege: _wmkdir


grüssle :)
 
Zuletzt bearbeitet:
Tschuldigung, dass ich vergessen habe, dir den Header zu sagen, du brauchst den:
Code:
dirent.h
 
Hi,

Header sind drin, hab ich aus MSDN übernommen, ich verwende auch keinen Unicode.

@Ryu:
Muss ich dirent.h einbindend oder direct.h

lg Chriss
 
Zurück