读书人

const char[]、 const wchar_t[]转换有

发布时间: 2013-01-05 15:20:39 作者: rapoo

const char[]、 const wchar_t[]转换问题
开发环境:VS2010
1. error C2665: “CPublicFunctions::WriteINIStr”: 3 个重载中没有一个可以转换所有参数类型
可能是“BOOL CPublicFunctions::WriteINIStr(wchar_t,wchar_t,wchar_t)”
“BOOL CPublicFunctions::WriteINIStr(wchar_t,CString,wchar_t)”
尝试匹配参数列表“(const wchar_t [5], CString, wchar_t)”时

重载怎么不匹配?const wchar_t []和wchar_t有啥不同,要怎么转换?

2.如果想写一个以const char[]作为参数的函数,要怎么写?(便于WriteINIStr("a","b","c");这样调用)
[解决办法]
window下的宽字符问题,建议楼主程序编译环境选择为unicode,统一用TCHAR就不用转换了。
[解决办法]


#ifdef UNICODE
使用multibytetowidechar把char转换到wchar,然后存储到cstring中
#else
这里可以用widechartomultibyte把cstring中的数据转换成char
#endif

读书人网 >C++

热点推荐