定义

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