[error] MFC错误不能将参数1从"const char [64]"转换为"const wchar_t *"

参考CSDN:[error] MFC错误不能将参数1从"const char [3]"转换为"const wchar_t *"

在MFC中对sql语句进行Format的时候

//CString dlg.m_sno
str.Format("insert into S(Sno) values ('%s')", dlg.m_sno)

出现编码转换错误提示:
[error]不能将参数1从"const char [3]"转换为"const wchar_t *"。

解决方法(两种):

1.由于VS默认字符集为UNICODE,可以使用_T("")宏,让程序支持多字节字符集。定义于tchar.h.(详见百科:_T())
#define _T(x)       __T(x)  
#define _TEXT(x)    __T(x)  

使用方法

//CString dlg.m_sno
str.Format(_T("insert into S(Sno) values ('%s')"), dlg.m_sno)
2.在项目属性里把“使用UNICODE字符集”改为“使用多字节字符集”
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容