char buffer[MAX_PATH];
SHGetSpecialFolderPath(NULL,buffer, CSIDL_INTERNET,FALSE );
错误:无法将参数2从'char [260]'转换为'LPWSTR' 操作系统Windows 7 64位和Visual Studio 2010.我想在Windows XP和Win7中运行此代码。
答案 0 :(得分:4)
您正在构建定位Unicode而不是ANSI。但是您正在传递ANSI缓冲区。您可以通过多种方式解决此问题:
wchar_t buffer[MAX_PATH]
。SHGetSpecialFolderPathA
。我的偏好是使用Unicode缓冲区,选项1。
答案 1 :(得分:0)
如果您要同时使用Unicode和ANSI / MBCS构建,请使用TCHAR
代替char
:
TCHAR buffer[MAX_PATH];
SHGetSpecialFolderPath(NULL, buffer, CSIDL_INTERNET, FALSE);