|
Diese beiden Funktionen sind leider nicht für UNIX/LINUX kompatibel. Dafür haben sie im Kapitel zuvor die Funktionen opendir, readdir, rewinddir und closedir kennen gelernt. Das ist aber auch nicht weiter schlimm da UNIX/Linux Verzeichnisse sowieso als normale Dateien behandelt.
Sie sehen hier haben wir wieder eine Struktur des Typs struct ffblk mit der diese beiden Funktionen zusammenarbeiten. Die sieht etwa so aus....
Wenn wir ein Verzeichnis lesen wollen müssen wir zuerst findfirst aufrufen. In pfad übergeben wir die Suchmaske. Wildcards (*) sind dabei auch erlaubt (z.B. c:\windows, \Programme\test\*.c oder *.exe....) Zusätzlich übergeben wir der Funktion findfirst einen Zeiger auf die Struktur struct ffblk mit der Informationen unserer Dateien zurückgegeben werden. Als letzten Parameter zu findfirst attribut stehen uns folgende Möglichkeiten zur Verfügung....
Der Rückgabewert von findfirst ist bei Erfolg 0 ansonsten ungleich 0. Falls alles glatt gelaufen ist können wir die Funktion findnext einsetzten die wie der Name schon sagt den nächsten Verzeichniseintrag ließt. Hierbei wird in ffblk der nächste Verzeichniseintrag zurückgegeben. Auch die Funktion findnext liefert bei Erfolg 0 zurück ansonsten einen Wert ungleich 0. Schauen wir uns das mal in der Praxis an....
Geben sie jetzt z.B. in der Kommandozeile folgendes ein...
Somit sucht unser Programm alle C-Programme mit der Endung *.c heraus und gibt diese mit der Größe in Bytes auf dem Bildschirm aus. Natürlich nur in dem Verzeichnis das sie als 2.Argument übergeben. |