温馨提示×

c++ mkdir函数如何进行错误处理

c++
小樊
84
2024-12-06 03:20:54
栏目: 编程语言

在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函数将错误代码转换为描述性字符串。最后,我们输出错误信息并返回一个非零值以表示程序出错。如果目录创建成功,我们将输出成功消息并返回零。

0