Закрыть директорию
#include <dirent.h>int closedir( DIR *dirp );
libc
Функция closedir() закрывает директорию, определяемую dirp, и освобождает память, выделенную opendir().
![]() | Результат использования потока, связанного с директорией, после вызова функции семейства exec*() или spawn*() не определен. После вызова функции fork() родительский или дочерний процесс (но не оба) может продолжить обработку потока, связанного с директорией, используя функции readdir() и rewinddir(). Если и родительский, и дочериний процессы используют эти функции, результат не определен. Функцию closedir() может вызвать один или оба процесса. |
Получить список файлов, содержащихся в директории /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 системной библиотеки