Zum Inhalt springen

c++ (mfc): existenz eines directories überprüfen...


TinTin

Empfohlene Beiträge

hi,

wie kann ich wenn ich z.b. eine CString mit dem inhalt 'c:\\mydir\\nextdir'

überprüfen ob 'nextdir' auch existiert? ich habs zwar schon mit 'IsDot()'

und 'IsDirectory()' probiert, dass war aber nicht so komfortabel.

gibt es nicht eine funktion, die mir sagt ob das verzteichniss besteht?

ciao TinTin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

Ich habe mir dafür mal selber eine Funktion geschrieben.

Sie ist zwar nicht sehr professionel, aber sie funktioniert.


bool CheckVerz(CString Verzeichnis)

{

   WIN32_FIND_DATA fd;


   if(Verzeichnis.Right(1) != "\\")

      Verzeichnis += "\\";

   Verzeichnis += "*.*";


   HANDLE handle = FindFirstFile (LPCTSTR(Verzeichnis), &fd);

   if(handle == INVALID_HANDLE_VALUE)

      return false;

   else

      return true;

}

Ich hoffe ich konnte dir weiterhelfen.

mfg

Chris

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke !!!

funktioniertja ganz gut, wenn auch wirklich verzeichnisse angegeben sind.

z.b. c:\windows hat als ergebnis erwartungsgemäs 'true'.

wenn ich jedoch kein verzeichnis mit angebe, sondern nur einen laufwerksbuchstaben,

dann bekomme ich, da kein verzeichnis da ist, 'false' als ergebnis. ist ja auch richtig so.

wie kann ich denn deine funktion erweitern, so dass ich bei einem laufwerk

auch ein 'true' zurückbekomme, wenn es existiert?

ich hoffe ich hab mich einigermassen verständlich ausgedrückt...

ciao TinTin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

Also bei mir funktioniert es auch mit Laufwerken einwandfrei.

Wenn ich der Funkion z.B. "C:\\" oder "C:" übergebe gibt sie true zurück.

Laufwerke werden auch wie Ordner behandelt. Es wird im übergebenen Ordner nach dem ersten *.* gesucht, was auch bei leeren Ordner true zurück gibt, weil auch '.' behandelt wird, das sich ja in jedem Ordner befindet.

mfg

Chris

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...