Qt QDir::mkpath函數(shù)使用
- mkdir()與mkpath()差別間API文檔
- 使用mkpath正確用法
bool CreateDir(const QString &path)
{
QDir dir;
return dir.mkpath(path);
}
運行結(jié)果:
假設(shè)
path = "jack"
读恃,函數(shù)執(zhí)行后,會在當(dāng)前文件下創(chuàng)建jack
文件夾
而對于下面的代碼:
bool CreateDir(const QString &path)
{
QDir dir(path); // 注意
if(dir.exists())
{
return true;
}else{
dir.setPath("");
bool ok = dir.mkpath(path);
return ok;
}
}
運行結(jié)果
假設(shè)
path = "jack"
疹吃,函數(shù)執(zhí)行后西雀,會在當(dāng)前文件下創(chuàng)建jack/jack
文件夾
出現(xiàn)這種原因是由于"mkpath()"函數(shù)執(zhí)行時,實際創(chuàng)建的目錄為dir
的路徑 + path的路徑篡撵,其實就是jack/jack
-
環(huán)境變量設(shè)置
對于qt使用上面的代碼調(diào)試時豆挽,默認(rèn)創(chuàng)建的路徑可能在c盤用戶目錄下,而不是在編譯生成的目錄下帮哈,可以使用下面的方式將環(huán)境變量去除:
清除環(huán)境變量后,再次編譯運行即可