- Header file:
dirent.h
- Data type for a directory stream:
DIR
- Data type for a single entries:
struct dirent
- Functions:
- Opening a Directory Stream
- DIR * opendir (const char *dirname)
- int dirfd (DIR *dirstream)
- Reading and Closing a Directory Stream
- struct dirent * readdir (DIR *dirstream)
- int readdir_r (DIR *dirstream, struct dirent *entry, struct dirent **result)
- struct dirent64 * readdir64 (DIR *dirstream)
- int readdir64_r (DIR *dirstream, struct dirent64 *entry, struct dirent64 **result)
- int closedir (DIR *dirstream)
- Sample code
#include <stddef.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
int main (void)
{
DIR *dp;
struct dirent *ep;
dp = opendir ("./");
if (dp != NULL)
{
while (ep = readdir (dp))
puts (ep->d_name);
(void) closedir (dp);
}
else
perror ("Couldn't open the directory");
return 0;
}