为什么GetCurrentDirectory会崩溃?

时间:2016-02-15 13:11:27

标签: c++

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

一样
C:\Users\Mix Prog\prog1\Debug

然后只返回

C:\Users\Mix 

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

TCHAR priv[BUFSIZE];
DWORD dwRet;    
dwRet = GetCurrentDirectory(BUFSIZE, priv);

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

2 个答案:

答案 0 :(得分:1)

我建议(而不是使用wscat_s)将代码改为:

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

正如其他人所指出的那样,我怀疑你的代码中的priv是正确的(例如,如果你看一下调试器的内容是正确的),但由于空间的原因,cmd没有正确解释它。

答案 1 :(得分:-1)

在Windows API中,我们可以从代码

下面获取目录
 // Get Current Dir  
 #define BUFSIZE MAX_PATH             
 TCHAR myDir[BUFSIZE];
 DWORD dwRet;    
 dwRet = GetCurrentDirectory(BUFSIZE, myDir);