c++新建刪除資料夾方法CreateDirectory RemoveDirectory
阿新 • • 發佈:2019-01-28
遇到一個問題就是從登錄檔讀取到資料儲存路徑後,由於所呼叫的介面只能設定已存在的資料夾,所以就想著在讀取到路徑之後,就先建立資料夾,然後呼叫介面就沒問題了。
找到的方法如下:
CreateDirectory
Creates a new directory. If the underlying file system supports security on files and directories, the function applies a specified security descriptor to the new directory.
具體詳見MSDN,一個引數就是路徑,第二個引數是安全性,設定為NULL,那麼所得到的預設安全性繼承自父目錄(its parent directory);BOOL WINAPI CreateDirectory( _In_ LPCTSTR lpPathName, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes );
返回值:建立成功返回非0,失敗為0,錯誤可 call GetLastError;
有疑問:如果資料夾已存在,又呼叫CreateDirectory,會不會影響到已存在同名資料夾的資料?
自己親自實踐一下就知道了,答案是不影響。
#include <iostream> #include <windows.h> using namespace std; int main() { char szDirName[] = "D:\\test"; bool flag = CreateDirectory(szDirName, NULL); DWORD err = GetLastError(); cout << "flag: " << flag <<endl; cout << "err: " << err <<endl; return 0; }
對了,還發現一個現象就是:路徑只有一個\也可以的.
有了新建,對應就是刪除
RemoveDirectory
BOOL WINAPI RemoveDirectory(
_In_ LPCTSTR lpPathName
);
很簡單啦,傳入要刪除的資料夾路徑即可。
返回值:非0為成功