RAD Studio
ContentsIndex
PreviousUpNext
closedir, wclosedir

Header File 

dirent.h  

Category 

Directory Control Routines 

Prototype 

void closedir(DIR *dirp); 

void wclosedir(wDIR *dirp); 

Description 

Closes a directory stream. 

closedir is available on POSIX-compliant UNIX systems. 

The closedir function closes the directory stream dirp, which must have been opened by a previous call to opendir. After the stream is closed, dirp no longer points to a valid directory stream. 

wclosedir is the Unicode version of closedir. 

Return Value 

If closedir is successful, it returns 0. Otherwise, closedir returns -1 and sets the global variable errno to

EBADF 
The dirp argument does not point to a valid open directory stream 

Example

/* opendir.c - test opendir(), readdir(), closedir() */
 
#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);
}

Portability

POSIX 
Win32 
ANSI C 
ANSI C++ 
 
 
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!