当我在Visual C++中编译此代码时,我得到以下错误.可以帮我解决这个问题..
DWORD nBufferLength = MAX_PATH;
char szCurrentDirectory[MAX_PATH + 1];
GetCurrentDirectory(nBufferLength, szCurrentDirectory);
szCurrentDirectory[MAX_PATH +1 ] = '\0';
Run Code Online (Sandbox Code Playgroud)
错误信息:
Error 5 error C2664: 'GetCurrentDirectoryW' : cannot convert parameter 2 from 'char [261]' to 'LPWSTR' c:\car.cpp
Run Code Online (Sandbox Code Playgroud)
您的程序配置为编译为unicode.这就是为什么GetCurrentDirectory是GetCurrentDirectoryW,它需要a LPWSTR(wchar_t*).
GetCurrentDirectoryW需要一个wchar_t而不是char数组.你可以使用TCHAR,像GetCurrentDirectory一样 - 取决于unicode设置,并始终表示适当的字符类型.
不要忘记在前面'\0'添加一个L,以便制作char字面的unicode!