#include <iostream>
#include <direct.h>
using namespace std;
int main() {
if(_mkdir("d:\\a\\b") == 0){
cout << "success";
} else if ( _mkdir("d:\\a") == EEXIST) {
cout << "Directory was not created because dirname is the name of an existing file, directory, or device.";
}
else if ( _mkdir("d:\\a") == ENOENT) {
cout << "Path was not found.";
}
}
在運行程序時,輸出是意外的。 (大多數時候它是失敗的,我不知道原因)故障排除_mkdir故障
有時我看到success.Many時候,我如果我刪除雙斜線\\
單斜槓\
消息是成功的。 這件事讓我非常憤怒。這是爲什麼發生? 是backslashes
的問題?
UPDATE
在Visual C++ 2010 Express Edition的當我按下CTRL + F5輸出僅按任意鍵繼續......
當_mkdir失敗時,嘗試查看全局變量errno的值,它可能會給出原因。 – Serge
不,你不能只測試'EEXIST'和'ENOENT'的返回值,你必須檢查'errno'。 –
..那就是b'coz我試圖用相同的電話創建a和b –