überprüfen ob Verzeichniss existiert
-
Wie kann ich unter ANSI-C prüfen ob ein Verzeichniss existiert und wenn nicht dieses anlegen?
-
garnicht. C hat keine Ahnung von Verzeichnissen.
Unter dos kannst du
#include <dir.h> /* mkdir( ) */ #include <dirent.h> /* opendir( ) */ #include <errno.h> /* printf( ) */ extern int errno; int main( int argc, char* argv[] ) { char *directory = "C:\\my\\nice\\dir"; DIR *dirp = 0; dirp = opendir( directory ); if( dirp = 0 ) { if( errno = ENOENT ) printf( "Directory \"%s\" does not exist!\n", directory ); else { printf( "Unknown error!\n" ); return ERROR_FAILURE; } if( mkdir( directory ) != 0 ) { printf( "Couldn't create directory \"%s\"!\n", directory ); return ERROR_FAILURE; } } closedir( dirp ); return ERROR_SUCCESS; }Greetz, Swordfish
-
Danke für die Hilfe, ich habe aber keine "dir.h" und "dirent.h" in meinem MS VS 6.0 Compiler? Was mache ich da? Zumindest findet er es nicht und eine Dateisuche auf der festplate bringt auch keinen Erfolg.
-
Abgesehen vom Prüfen, ein generelles Anlegen des Verzeichnisses in dem ich meine Userdaten abspeichern möchte, ist zwar nicht so elegant, wäre aber auch ok. jedoch öffnet mir der Befehhl "system("md uderdaten")" immer eine commandbox und schließt sie gleich wieder, sieht halt nicht sehr professionell aus.
-
Mit der Platform SDK:
#include <windows.h> int main( int argc, char *argv[] ) { char *directory = "C:\\windows"; if( !CreateDirectory( directory, 0 ) ) { if( GetLastError() == 0xB7 ) printf( "Directory \"%s\" does already exists!", directory ); return 0; else printf( "Unknwon error!\n" ); return -1; } printf( "Directory \"%s\" created!\n", directory ); return 0; }Greetz, Swordfish
-
Ja, genau das kann ich gebrauchen, danke schön.
-
Swordfish schrieb:
Platform SDK
Win32API nennt man das.
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
c.rackwitz schrieb:
Swordfish schrieb:
Platform SDK
Win32API nennt man das.
Yup, ich schieb's auf die Müdigkeit.
Greetz, Swordfish