closedir()
QNX SDP8.0C Library ReferenceAPIDeveloper
Close a directory
Synopsis:
#include <dirent.h>
int closedir( DIR * dirp );
Arguments:
- dirp
- A directory pointer for the directory you want to close.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The closedir() function closes the directory specified by dirp, and frees the memory allocated by opendir().
Note:
The result of using a directory stream after calling one of the
exec*() or
spawn*() family of functions
is undefined. After a call to the
fork()
function, either the parent or the child (but not both) may continue
processing the directory stream using the
readdir() and
rewinddir() functions.
If both the parent and child processes use these functions, the result
is undefined.
Either or both processes may call the closedir() function.
Returns:
- 0
- Success.
- -1
- An error occurred (errno is set).
Errors:
- EINTR
- The closedir() call was interrupted by a signal.
Examples:
Get a list of files contained in the directory /home/kenny:
#include <stdio.h>
#include <dirent.h>
#include <stdlib.h>
int main( void )
{
DIR *dirp;
struct dirent *direntp;
dirp = opendir( "/home/kenny" );
if( dirp != NULL ) {
for(;;) {
direntp = readdir( dirp );
if( direntp == NULL ) {
break;
}
printf( "%s\n", direntp->d_name );
}
closedir( dirp );
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
}
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Signal handler | No |
Thread | Yes |
Page updated: