这适用于x86编译:
wchar_t localAppData[MAX_PATH]; // Array, not a pointer.
SHGetFolderPath(NULL,CSIDL_LOCAL_APPDATA, 0, NULL, localAppData);
std::wstringstream ss;
ss << localAppData;
return ss;
这对于x64编译很好:
char localAppData[MAX_PATH]; // Array, not a pointer.
SHGetFolderPath(NULL,CSIDL_LOCAL_APPDATA, 0, NULL, localAppData);
std::wstringstream ss;
ss << localAppData;
return ss;
但是,我想找到适用于x86和x64的解决方案,这样我就不必切换&#34; localAppData&#34;每次我切换平台。
有人知道解决方案吗?
谢谢。
答案 0 :(得分:3)
问题是您的x86项目是针对Unicode配置的,但您的x64项目配置为多字节。确保所有配置中的字符集保持一致。大概你打算在整个过程中使用Unicode。