Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Linux-UNIX-Programmierung von Jürgen Wolf
Das umfassende Handbuch – 2., aktualisierte und erweiterte Auflage 2006
Buch: Linux-UNIX-Programmierung

Linux-UNIX-Programmierung
1216 S., mit CD, 49,90 Euro
Rheinwerk Computing
ISBN 3-89842-749-8
gp Kapitel A Funktionsreferenz
  gp B.1 ANSI C
  gp B.2 ANSI C99
  gp B.3 Elementare E/A-Funktionen
  gp B.4 Fortgeschrittene Ein-/Ausgabe-Funktionen
  gp B.5 Verzeichnisse
  gp B.6 Attribute von Dateien und Verzeichnissen
  gp B.7 Links
  gp B.8 Prozess und Prozessverwaltungsfunktionen
  gp B.9 Signale – Das neue Signalkonzept
  gp B.10 Interprozesskommunikationen
  gp B.11 Sys-V-Interprozesskommnunikationen
  gp B.12 Threadprogrammierung
  gp B.13 Netzwerkprogrammierung
  gp B.14 MySQL C-API
  gp B.15 PostgreSQL C-API
  gp B.16 Weitere Funktionsreferenzen auf der Buch-CD


Rheinwerk Computing

B.5 Verzeichnisse  toptop

Für die Funktionen in der Tabelle B.30 sind folgende Headerdateien nötig:

#include <unistd. h.>
/* ... und nur für mkdir() ... */
#include <sys/types.h>
#include <sys/stat.h>

Tabelle B.30    Funktionen zum Arbeiten mit Verzeichnissen

Syntax Bedeutung
int mkdir( const char * pfad, mode_t modus ); Anlegen eines neuen Verzeichnisses
int chdir(const char *pfad); int fchdir(int fd); In ein Verzeichnis wechseln
int rmdir( const char *pfad ) ; Löschen eines (leeren) Verzeichnisses
char *getcwd( char *puffer, size_t groesse ); Pfadname des Arbeitsverzeichnisses ermitteln

Um aus einem Verzeichnis zu lesen, schreibt POSIX die Struktur dirent vor, welche in der Headerdatei <dirent.h> definiert ist. Unter Linux finden Sie in dieser Struktur die folgenden Komponenten:

struct dirent {
   long  d_ino;              /* Inode (nicht in POSIX.1) */
   off_t d_off;              /* Offset zu diesem Eintrag */
   unsigned short d_reclen;  /* Länge des Namen */
   char  d_name[NAME_MAX+1]; /* Name */
};

Neben der Headerdatei <dirent.h> benötigen einige der folgenden Funktionen auch die Headerdatei <sys/types.h>.


Tabelle B.31    Lesen von Verzeichnissen

Syntax Bedeutung
DIR* opendir (const char* name); Verzeichnis zum Lesen öffnen
struct dirent* readdir( DIR* dir); Verzeichnis Eintrag um Eintrag schrittweise lesen
void rewinddir(DIR *dir); DIR-Zeiger wieder auf den Anfang der Namensliste setzen
int closedir (DIR* dir) Verzeichnis (DIR-Zeiger) wieder schließen
long telldir(const DIR *dir); Position des Verzeichnis-Zeigers abfragen
void seekdir( DIR *dirp, long loc ); Zu einem mit loc angegebenen Verzeichnis-Eintrag springen
int scandir ( const char* dir, struct dirent ***namelist, int (*select) (const struct dirent*), int (*compar) (const struct dirent**, const struct dirent**)) Ein gesamtes Verzeichnis scannen (nur BSD – also auch Linux)

Des Weiteren bieten SysV-Systeme in der Headerdatei <ftw.h> weitere Funktionen an, womit ein Verzeichnisbaum rekursiv durchlaufen werden kann.


Tabelle B.32    Verzeichnisbaum rekursiv durchlaufen

Syntax Bedeutung
int ftw( const char *path, int (*fn) (const char *, const struct stat *, int), int depth ); Durchläuft einen kompletten Verzeichnisbaum und ruft für jede Datei im Verzeichnisbaum eine Benutzerdefinierte Funktion auf.
int nftw( const char *path, int (*fn) ( const char *, const struct stat *, int, struct FTW*), int depth, int flags); Wie ftw(), nur folgt nftw() stattdessen nicht den symbolischen Links

 << zurück
  
  Zum Rheinwerk-Shop
Neuauflage: Linux-UNIX-Programmierung
Neuauflage:
Linux-UNIX-
Programmierung

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-
 Programmierung


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern