vs2013中经常会遇到XXX与XXXXX不兼容

来源:互联网 发布:网络武侠小说推荐 编辑:程序博客网 时间:2024/04/27 18:34

1、最简单的快速的方法是:

编译器默认是Unicode字符集了,然后右击属性,配置属性,常规,改为多字符字符类型。基本可以处理百分之八十的错误。

2、如果改了之后出现有部分代码是多字节类型的,部分是代码是Unicode类型的,这一就不大好处理了:

解决:仍然选Unicode字符集,现将声明的字符串或者字符设置为宽字节类型,然后如果在输出函数中一些类似“Hello World!”前面加L就可以,如果还是不行比如下面一段代码:

case WM_LBUTTONDOWN:{int x = LOWORD(lParam);int y = HIWORD(lParam);TCHAR s[200];_stprintf(s, L"x=%d,y=%d", x, y);MessageBox(hwndDlg, s, L"提示", 0);}return TRUE;

原来采用的sprintf打印信息和char s[200],但是s字符串一直提示错误,我现将s换为TCHAR宽字符类型,然后在输出函数中加L,再将sprintf函数改为_stprintf这样就OK了。

3,、如有其它情况下字符集的问题,请留言,非常感谢。

0 0