closedir, wclosedir

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu dirent.h - Index


Header-Datei

dirent.h

Kategorie

Verzeichnisbearbeitungsroutinen

Prototyp

void closedir(DIR *dirp);

void wclosedir(wDIR *dirp);

Beschreibung

Schließt einen Verzeichnis-Stream.

closedir ist auf POSIX-kompatiblen UNIX-Systemen verfügbar.

Die Funktion closedir schließt den Verzeichnis-Stream dirp, der durch einen vorherigen Aufruf der Funktion opendir geöffnet wurde. Nachdem der Stream geschlossen wurde, zeigt dirp auf keinen gültigen Verzeichnis-Stream mehr.

wclosedir ist die Unicode-Version von closedir.

Rückgabewert

Wenn die Funktion closedir erfolgreich ausgeführt wird, gibt sie 0 zurück. Andernfalls gibt closedir -1 zurück, und weist der globalen Variablen errno folgenden Wert zu:

EBADF

The dirp argument does not point to a valid open directory stream (Das Argument dirp zeigt auf keinen gültigen geöffneten Verzeichnis-Stream)



Beispiel



 /* opendir.c - opendir(), readdir(), closedir() testen */
 
 #include <dirent.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 void scandir(char *dirname)
 {
    DIR *dir;
    struct dirent *ent;
 
    printf("First pass on '%s':\n",dirname);
    if ((dir = opendir(dirname)) == NULL)
    {
      perror("Unable to open directory");
      exit(1);
    }
    while ((ent = readdir(dir)) != NULL)
      printf("%s\n",ent->d_name);
 
    printf("Second pass on '%s':\n",dirname);
    rewinddir(dir);
    while ((ent = readdir(dir)) != NULL)
      printf("%s\n",ent->d_name);
    if (closedir(dir) != 0)
      perror("Unable to close directory");
 }
 
 void main(int argc,char *argv[])
 {
    if (argc != 2)
    {
      printf("usage: opendir dirname\n");
      exit(1);
    }
    scandir(argv[1]);
    exit(0);
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

+

+