![](/img/trans.png)
[英]'wsprintfW' : cannot convert parameter 1 from 'char [80]' to 'LPWSTR'
[英]SHGetSpecialFolderPath cannot convert parameter 2 from 'char [260]' to 'LPWSTR'
char buffer[MAX_PATH];
SHGetSpecialFolderPath(NULL,buffer, CSIDL_INTERNET,FALSE );
错误:无法将参数2从'char [260]'转换为'LPWSTR'OS Windows 7 64位和Visual Studio2010。我想在Windows XP和Win7中都运行此代码。
您要针对Unicode而不是ANSI。 但是,您正在传递ANSI缓冲区。 您可以通过多种方法解决此问题:
wchar_t buffer[MAX_PATH]
。 SHGetSpecialFolderPathA
。 我的偏好是使用Unicode缓冲区,选项1。
如果要同时构建Unicode和ANSI / MBCS,请使用TCHAR
而不是char
:
TCHAR buffer[MAX_PATH];
SHGetSpecialFolderPath(NULL, buffer, CSIDL_INTERNET, FALSE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.