Node:Opening a Directory, Next:Reading/Closing Directory, Previous:Directory Entries, Up:Accessing Directories
This section describes how to open a directory stream. All the symbols
are declared in the header file dirent.h
.
DIR | Data Type |
The DIR data type represents a directory stream.
|
You shouldn't ever allocate objects of the struct dirent
or
DIR
data types, since the directory access functions do that for
you. Instead, you refer to these objects using the pointers returned by
the following functions.
DIR * opendir (const char *dirname) | Function |
The opendir function opens and returns a directory stream for
reading the directory whose file name is dirname. The stream has
type DIR * .
If unsuccessful,
The |
In some situations it can be desirable to get hold of the file
descriptor which is created by the opendir
call. For instance,
to switch the current working directory to the directory just read the
fchdir
function could be used. Historically the DIR
type
was exposed and programs could access the fields. This does not happen
in the GNU C library. Instead a separate function is provided to allow
access.
int dirfd (DIR *dirstream) | Function |
The function dirfd returns the file descriptor associated with
the directory stream dirstream. This descriptor can be used until
the directory is closed with closedir . If the directory stream
implementation is not using file descriptors the return value is
-1 .
|