2013-05-09 44 views
0

我在Windows中使用vs 2010。
在我的程序中,我想在當前目錄下創建一個新目錄。
我用CreateDirectory在當前目錄下創建文件夾?

TCHAR szPath[MAX_PATH]; 

GetModuleFileName(NULL, szPath, MAX_PATH); 

而且szPath的字符串爲 「E:\ A20J \ BIN \ *** EXE」。
但是當我使用:

BOOL bol = CreateDirectory("Path", NULL); 

平原變成1,這意味着成功。
但是在「E:\ A20J \ Bin \」下,即使刷新後也沒有找到「Path」這樣的目錄,爲什麼?

回答

0

可執行文件的路徑不代表當前進程正在執行的目錄。使用GetCurrentDirectory()來確定進程正在執行的目錄,並且目錄"Path"將在那裏創建。如果您希望在二進制文件所在的目錄中創建目錄,則需要進行一些字符串操作來構建路徑。


請注意,只有如果創建目錄CreateDirectory()收益非零。該目錄可能已經存在,您可能不希望將其視爲失敗(請參閱我的舊回答Create a directory if it doesn't exist)。

相關問題