为什么 GetCurrentDirectory 会分手

Why does GetCurrentDirectory break up?

本文关键字:分手 GetCurrentDirectory 为什么      更新时间:2023-10-16

我试图使用 GetCurrentDirectory() 获取当前目录,但它返回目录,直到目录上有一个空格 ' ',就像当前目录是

C:UsersMix Progprog1Debug

然后它只返回直到

C:UsersMix 

有人可以指出为什么会这样吗?这是我的代码:

TCHAR priv[BUFSIZE];
DWORD dwRet;    
dwRet = GetCurrentDirectory(BUFSIZE, priv);
TCHAR command[BUFSIZE] = L"cmd.exe /C ";
wcscat_s(command, priv);

我建议(而不是使用wscat_s(将代码更改为如下所示的内容:

wsprintf (command, "cmd.exe /C "%s"", priv);

正如其他人指出的那样,我怀疑 priv 在您的代码中是正确的(即,如果您使用调试器查看内容是正确的(,但由于空间的原因,cmd 没有正确解释它。

在Windows API中,我们可以从下面的代码中获取目录

 // Get Current Dir  
 #define BUFSIZE MAX_PATH             
 TCHAR myDir[BUFSIZE];
 DWORD dwRet;    
 dwRet = GetCurrentDirectory(BUFSIZE, myDir);