VS2005中C++字符问题!
学习2005又遇到问题了:
以前6.0中,
char ch[3];
ch[0]=68;
ch[1]=69;
ch[2]=70;
MessageBox(ch);
直接就能显示ch的内容了!
现在2005中就出错了:MessageBox(ch)->不能将参数 1 从“char [3]”转换为“LPCTSTR”,强制转化MessageBox((LPCTSTR)ch)后显示出来的乱码!
请问我该怎么处理才能正确显示啊?
问题点数:20、回复次数:8Top
1 楼Tean_()回复于 2006-12-01 05:07:34 得分 3
VS2005默认为UNICODE
想要显示char
可以尝试MessageBoxA函数Top
2 楼wuqingabc(晴)回复于 2006-12-01 08:47:05 得分 0
把char转换为unicode也可以,有个宏_T()Top
3 楼annywoody(此人已死,有事请扒坟)回复于 2006-12-01 10:24:32 得分 0
把char转换为unicode也可以,有个宏_T()
Top
4 楼zjgest(炽火)回复于 2006-12-04 13:19:17 得分 0
我写成Messagebox(_T(ch)); 还是出错啊!说什么“Lch”未申明的标识符。。。Top
5 楼liuqiyc(cyiquil)回复于 2006-12-04 13:25:45 得分 5
项目->属性->配置属性->常规
在右边的"字符集"里选择"使用多字节字符集"Top
6 楼ProgrameMan(我要学汇编)回复于 2006-12-04 13:28:41 得分 5
const char ch[4] = {68, 69, 79, 0};
MessageBox(ch);
Top
7 楼crearo(铜板)回复于 2006-12-04 13:31:56 得分 5
TCHAR ch[3];
ch[0]=68;
ch[1]=69;
ch[2]=70;
studio2005默认是UNICODE.
studio2005中:
typedef MessageBox MessageBoxW
vc6.0中:
typedef MessageBox MessageBoxA
Top
8 楼ppcat_001()回复于 2006-12-04 15:57:29 得分 2
UNICODE 下每一个字符2个字节
ASCI下每一个字符1个字节,68,69,70就是一个字符的ASCI码,被默认转化位赋值为字符Top





