在C++中,mkdir
函数是用于创建新目录的。为了进行错误处理,你可以使用errno
变量和strerror
函数。errno
是一个全局变量,用于存储最后一个错误代码,而strerror
函数则用于将错误代码转换为描述性字符串。
下面是一个使用mkdir
函数进行错误处理的示例:
#include <iostream>
#include <cerrno>
#include <cstring>
#include <sys/stat.h>
int main() {
const char* dir_path = "new_directory";
// 使用mkdir函数创建新目录
if (mkdir(dir_path, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) {
// 获取错误代码
int err = errno;
// 将错误代码转换为描述性字符串
const char* error_msg = strerror(err);
// 输出错误信息
std::cerr << "Error creating directory: " << error_msg << std::endl;
return 1; // 返回非零值表示程序出错
}
std::cout << "Directory created successfully." << std::endl;
return 0; // 程序成功执行
}
在这个示例中,我们首先尝试使用mkdir
函数创建一个新目录。如果函数调用失败,我们将检查errno
变量以获取错误代码,然后使用strerror
函数将错误代码转换为描述性字符串。最后,我们输出错误信息并返回一个非零值以表示程序出错。如果目录创建成功,我们将输出成功消息并返回零。