0

我在 Windows 中使用 vs 2010。
在我的程序中,我想在当前目录下创建一个新目录。
我用

TCHAR szPath[MAX_PATH];  

GetModuleFileName( NULL, szPath, MAX_PATH ); 

而szPath的字符串是“E:\A20J\Bin\***.exe”。
但是当我使用:

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

bol 变为1,表示成功。
但是在“E:\A20J\Bin\”下,刷新后却没有找到“Path”这样的目录,为什么?

4

1 回答 1

0

可执行文件的路径并不表示当前进程正在执行的目录。用于GetCurrentDirectory()确定进程正在执行的目录,并且该目录"Path"将在那里创建。如果您希望在与二进制文件相同的目录中创建目录,则需要进行一些字符串操作来构造路径。


请注意,当它创建目录时才CreateDirectory()返回非零值。该目录可能已经存在,您可能不希望将其视为失败(请参阅我的这个旧答案Create a directory if it doesn't exist)。

于 2013-05-09T08:35:34.763 回答