ordner oder datei

soeni1987

Mitglied
ich hab leider schon wieder ein problem. ich möchte prüfen, ob die angegebene Datei ein ordner oder eine datei ist. bei google hab ich lediglich die funktion findnextfole gefinden, mit der man mit dem bitweisen & und _A_SUBDIR etwas finden kann. ich hab jedoch lediglich einen pfad in einem char

Code:
char pfad[]="C:\ordner\ordner\datei.txt";
//oder
char pfad[]="C:\ordner\ordner\ordner\";

ich möchte nun wissen, ob pfad[] einen pfad zu einer datei, einem ordner oder nichts von beidem darstellt.

danke für eure hilfe
 
Hi.
ich hab leider schon wieder ein problem. ich möchte prüfen, ob die angegebene Datei ein ordner oder eine datei ist. bei google hab ich lediglich die funktion findnextfole gefinden, mit der man mit dem bitweisen & und _A_SUBDIR etwas finden kann. ich hab jedoch lediglich einen pfad in einem char
Das Thema hatten wir neulich erst. :suchen:

Gruß
 
nur funktioniert das bei mir nicht. system wurde nicht gefunden

Code:
 if (System::IO::File::Exists(szUserPfad)) {  
                                 // eine Datei.
   } else if (System.IO.Directory.Exists(szUserPfad)) {  
          // ein Verzeichnis
   } else {   
          // inkorrekter Pfad bzw. keine ausreichende Berechtigung
          }

system has not been declared. ist der fehler
 
nur funktioniert das bei mir nicht. system wurde nicht gefunden

Code:
 if (System::IO::File::Exists(szUserPfad)) {  
                                 // eine Datei.
   } else if (System.IO.Directory.Exists(szUserPfad)) {  
          // ein Verzeichnis
   } else {   
          // inkorrekter Pfad bzw. keine ausreichende Berechtigung
          }

system has not been declared. ist der fehler
Das ist kein richtiger C++ Code, das ist .NET C++/CLI.

http://www.tutorials.de/forum/c-c/293610-feststellen-ob-datei-oder-verzeichnis.html

Gruß
 
Hi

Vielleicht hilft dir das ja, wenn asd dein Pfad ist:

#include<stdio.h>
#include<windows.h>
//...
FILE *x;
x=fopen( "asd" ,"rb");
if(x!=NULL)
{ fclose(x);
//Datei!
}
if(!system("cd asd"))
{
//Ordner!
}

Den cd-String musst du dir halt zur Laufzeit zusammenbasteln

Gruß
 
Schon, aber wenn man einmal von Windows ausgeht und sachen wie kaputte festplatten außer acht lässt, sollte es schon gehen
 
Schon, aber wenn man einmal von Windows ausgeht und sachen wie kaputte festplatten außer acht lässt, sollte es schon gehen
Nein. Was ist z.B. mit Zugriffsrechten? Was ist wenn der Pfad Leerzeichen enthält? Was ist wenn jemand einen anderen Kommandoprozessor mit CMDSPEC setzt? Was ist, wenn die Datei/das Verzeichnis gar nicht existiert?

Gruß
 
Zurück