closedir()

Закрыть директорию

Прототип:

#include <dirent.h>
int closedir( DIR *dirp );

Аргументы:

dirp
A directory pointer for the directory you want to close.

Библиотека:

libc

Описание:

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.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
The dirp argument doesn't refer to an open directory stream.
EINTR
The closedir() call was interrupted by a signal.

Примеры:

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;
}

Классификация:

POSIX 1003.1

Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

struct dirent, errno, opendir(), readdir(), readdir_r(), rewinddir(), seekdir(), telldir()




Предыдущий раздел: Описание API системной библиотеки