[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字符集”改为“使用多字节字符集”

你可能感兴趣的:([error] MFC错误不能将参数1从"const char [64]"转换为"const wchar_t *")