wchar_t *的实参与LPCTSTR的形参不兼容怎么办
1个回答
展开全部
好不容易想起了这个函数,这个windows下也有
wcstombs - 将宽字符转换成多字符
头文件: #include <stdlib.h>
原型 size_t wcstombs(char *dest, const wchar_t *src, size_t n);
说明: 如dest 非NULL,则wcstombs() function把宽字符src转换成多字符dest,最多转换n字节。
返回值: 转换成功,返回转换的字节数(不包括非0字符),不成功返回(size_t)(-1)。
mbstowcs - 把多字符把转换成宽字符
头文件: #include <stdlib.h> [1]
函数原型: size_t mbstowcs(wchar_t *dest, const char *src, size_t n);
说明: 如dest 非NULL,则wcstombs() 函数把多字符src转换成宽字符dest,最多转换n字节。
返回值: 转换成功,返回转换的字节数(不包括非0字符),不成功返回(size_t)(-1)。 注意: mbstowcs函数的行为受当前locale的决定。 std::string curLocale = setlocale(LC_ALL, NULL); setlocale(LC_ALL, "chs");
wcstombs - 将宽字符转换成多字符
头文件: #include <stdlib.h>
原型 size_t wcstombs(char *dest, const wchar_t *src, size_t n);
说明: 如dest 非NULL,则wcstombs() function把宽字符src转换成多字符dest,最多转换n字节。
返回值: 转换成功,返回转换的字节数(不包括非0字符),不成功返回(size_t)(-1)。
mbstowcs - 把多字符把转换成宽字符
头文件: #include <stdlib.h> [1]
函数原型: size_t mbstowcs(wchar_t *dest, const char *src, size_t n);
说明: 如dest 非NULL,则wcstombs() 函数把多字符src转换成宽字符dest,最多转换n字节。
返回值: 转换成功,返回转换的字节数(不包括非0字符),不成功返回(size_t)(-1)。 注意: mbstowcs函数的行为受当前locale的决定。 std::string curLocale = setlocale(LC_ALL, NULL); setlocale(LC_ALL, "chs");
追问
不懂,wchar_t m_fontName[LF_FACESIZE]; m_font.CreatePointFont(m_iFontSize, m_fontName);wcscpy_s(m_fontName, LF_FACESIZE,"宋体");wcscpy_s(m_fontName,LF_FACESIZE,fontDlg.GetFaceName());后面的这三个函数的形参都有错,貌似都和LPCTSTR有关
追答
有没有打开UNICODE开关, 这个类型正常来说是一样的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询