在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
函數將錯誤代碼轉換為描述性字符串。最后,我們輸出錯誤信息并返回一個非零值以表示程序出錯。如果目錄創建成功,我們將輸出成功消息并返回零。