closedir() - ディレクトリーのクローズ

標準

標準/拡張機能 C/C++ 依存項目

POSIX.1
XPG4
XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

#define _POSIX_SOURCE
#include <dirent.h>

int closedir(DIR *dir);

機能説明

dir が示すディレクトリーをクローズします。この関数は、ディレクトリー・ストリームの読み取り時に readdir() が 使用するバッファーを解放します。

戻り値

closedir() は、正常終了の場合は 0 を戻します。

正常に実行されなかった場合、closedir() は -1 を戻して、errno を次のいずれかの 値に設定します。
エラー・コード
説明
EBADF
dir がオープン・ディレクトリー・ストリーム を指していません。
EINTR
closedir() がシグナルによって割り込まれました。ディレクトリーをクローズできる場合も クローズできない場合もあります。

CELEBC18
⁄* CELEBC18

   This example closes a directory.

 *⁄
#define _POSIX_SOURCE
#include <dirent.h>
#include <sys⁄types.h>
#undef _POSIX_SOURCE
#include <stdio.h>

main() {
  DIR *dir;
  struct dirent *entry;
  int count;

  if ((dir = opendir("⁄")) == NULL)
    perror("opendir() error");
  else {
    count = 0;
    while ((entry = readdir(dir)) != NULL) {
      printf("directory entry %03d: %s¥n", ++count, entry->d_name);
    }
    closedir(dir);
  }
}
出力:
directory entry 001: .
directory entry 002: ..
directory entry 003: bin
directory entry 004: dev
directory entry 005: etc
directory entry 006: lib
directory entry 007: tmp
directory entry 008: u
directory entry 009: usr

関連情報