定义
opendir()
#include <sys/types.h>
#include <dirent.h>
/**
* \brief 打开一个目录流。
*
* 该函数打开指定路径名 `name` 指向的目录,并返回一个目录流对象,可用于读取目录中的文件名。
*
* \param name 要打开的目录的路径名。
*
* \return 成功时返回指向DIR结构的指针,失败时返回NULL,并设置全局变量 `errno` 以指示错误。
*
* \note 使用 `opendir` 成功打开目录后,应使用 `closedir` 函数关闭目录流。
* \see closedir, readdir
*/
DIR *opendir(const char *name);
mkdir()
#include<sys/types.h>
/**
* \brief 创建一个新目录。
*
* 该函数在指定路径 `pathname` 处创建一个新目录,其访问权限由 `mode` 参数指定。
*
* \param pathname 新目录的路径名。
* \param mode 新目录的访问权限,具体值取决于系统。
*
* \return 成功时返回0,失败时返回-1,并设置全局变量 `errno` 以指示错误。
*
* \note `mode` 参数通常与文件系统上的umask值进行按位与操作,以确定实际的权限。
* \note 某些系统可能不支持设置权限,此时 `mode` 参数将被忽略。
* \see open, chmod
*/
int mkdir(const char *pathname, mode_t mode);
closedir()
/**
* \brief 关闭目录流。
*
* 该函数关闭由 `opendir` 成功打开的目录流,并释放所有相关资源。
*
* \param dirp 指向DIR结构的指针,该结构由 `opendir` 返回。
*
* \return 成功时返回0,失败时返回-1,并设置全局变量 `errno` 以指示错误。
*
* \note 应在完成目录遍历后调用 `closedir` 以避免资源泄露。
* \see opendir, readdir
*/
int closedir(DIR *dirp);
readdir()
#include <dirent.h>
/**
* \brief 读取目录流中的下一个条目。
*
* 该函数从由 `opendir` 函数打开的目录流 `dirp` 中读取下一个目录项,并返回指向 `struct dirent` 的指针。
* 每次调用 `readdir` 都会返回下一个目录项,直到目录结束。
*
* \param dirp 指向 `DIR` 结构的指针,该结构由 `opendir` 函数返回。
*
* \return 成功时返回一个指向 `struct dirent` 的指针,其中包含了目录项的信息,包括文件名等。
* 如果已经到达目录的末尾,返回NULL。
* 如果发生错误,也返回NULL,并且可以通过调用 `errno` 来获取错误信息。
*
* \note `readdir` 函数通常在 `opendir` 和 `closedir` 调用之间使用,以遍历目录中的所有文件。
* \note 返回的 `struct dirent` 包含了文件名和可能的其他属性,如文件类型等。
* \note 应用程序应该检查 `struct dirent` 的 `d_name` 成员来获取文件名。
* \note `readdir` 不会修改目录流的当前位置,多次调用 `readdir` 会返回相同的条目,直到遇到文件结束。
* \see opendir, closedir, dirent
*/
struct dirent *readdir(DIR *dirp);