输出字符问题

时间:2021-10-20 22:12:37
char a[3]={-105,'35'};

 TCHAR b[3];
 MultiByteToWideChar(CP_ACP,0,a,-1,b,3);
 MessageBox(NULL,b,TEXT("clue"),MB_OK);
为什么输出的是问号

6 个解决方案

#1


我在wince5.0上面試了一下,是“0--5”

#2


引用 1 楼 skynet000 的回复:
我在wince5.0上面試了一下,是“0--5”

这样也不对呀

#3


MultiByteToWideChar() 的转换,与系统相关,特别是 codepage.

输出是问号,可能是显示不正常的原因,最好是单步看看值是什么.

#4


引用 3 楼 91program 的回复:
MultiByteToWideChar() 的转换,与系统相关,特别是 codepage.

 输出是问号,可能是显示不正常的原因,最好是单步看看值是什么.
学习,学习,^_^

#5


引用楼主 fengle123456 的回复:
char a[3]={-105,'35'};

TCHAR b[3];
MultiByteToWideChar(CP_ACP,0,a,-1,b,3);
MessageBox(NULL,b,TEXT("clue"),MB_OK);
为什么输出的是问号


第一,不知楼主的CE是什么版本,如果是简体中文版,CP_ACP请用936(这是简体中文的代码页)

第二,char a[3]={-105,'35'};中的-105是什么?负数的最高位是二进制1,
汉字的表示,由两个字节的组成,每字节的最高位是二进制1,
-105,一个字节,表示半个汉字,肯定显示问号

以前的Windows会出现乱码,现在的不会了,当它不知是什么内容时,就以?来显示,或以口来显示

#6


引用 5 楼 yhp1888 的回复:
引用楼主 fengle123456 的回复:char a[3]={-105,'35'}; TCHAR b[3]; MultiByteToWideChar(CP_ACP,0,a,-1,b,3); MessageBox(NULL,b,TEXT("clue"),MB_OK); 为什么输出的是问号

第一,不知楼主的CE是什么版本,如果是简体中文版,CP_ACP请用936(这是简体中文的代码页)

第二,char a[3]={-105,'35'};中的-105是什么?负数的最高位是二进制1,
汉字的表示,由两个字节的组成,每字节的最高位是二进制1,
-105,一个字节,表示半个汉字,肯定显示问号

以前的Windows会出现乱码,现在的不会了,当它不知是什么内容时,就以?来显示,或以口来显示

上面的“在wince5.0上面試了一下,是“0--5””我什么是这个结果呢?

#1


我在wince5.0上面試了一下,是“0--5”

#2


引用 1 楼 skynet000 的回复:
我在wince5.0上面試了一下,是“0--5”

这样也不对呀

#3


MultiByteToWideChar() 的转换,与系统相关,特别是 codepage.

输出是问号,可能是显示不正常的原因,最好是单步看看值是什么.

#4


引用 3 楼 91program 的回复:
MultiByteToWideChar() 的转换,与系统相关,特别是 codepage.

 输出是问号,可能是显示不正常的原因,最好是单步看看值是什么.
学习,学习,^_^

#5


引用楼主 fengle123456 的回复:
char a[3]={-105,'35'};

TCHAR b[3];
MultiByteToWideChar(CP_ACP,0,a,-1,b,3);
MessageBox(NULL,b,TEXT("clue"),MB_OK);
为什么输出的是问号


第一,不知楼主的CE是什么版本,如果是简体中文版,CP_ACP请用936(这是简体中文的代码页)

第二,char a[3]={-105,'35'};中的-105是什么?负数的最高位是二进制1,
汉字的表示,由两个字节的组成,每字节的最高位是二进制1,
-105,一个字节,表示半个汉字,肯定显示问号

以前的Windows会出现乱码,现在的不会了,当它不知是什么内容时,就以?来显示,或以口来显示

#6


引用 5 楼 yhp1888 的回复:
引用楼主 fengle123456 的回复:char a[3]={-105,'35'}; TCHAR b[3]; MultiByteToWideChar(CP_ACP,0,a,-1,b,3); MessageBox(NULL,b,TEXT("clue"),MB_OK); 为什么输出的是问号

第一,不知楼主的CE是什么版本,如果是简体中文版,CP_ACP请用936(这是简体中文的代码页)

第二,char a[3]={-105,'35'};中的-105是什么?负数的最高位是二进制1,
汉字的表示,由两个字节的组成,每字节的最高位是二进制1,
-105,一个字节,表示半个汉字,肯定显示问号

以前的Windows会出现乱码,现在的不会了,当它不知是什么内容时,就以?来显示,或以口来显示

上面的“在wince5.0上面試了一下,是“0--5””我什么是这个结果呢?