因为一个汉字是占2个字节的,所以你用一个char型去读取,输出肯定是乱码。
具体怎么用C实现我也不清楚
如果用C++,直接建一个char的数组,用cin往里面读,用cout输出就可以了
数码管每显示一位,需要延时的,可以写一个延时子程序,延时大纸1~2ms。
主要原因是:proteus 仿真,要求先输出位选码,后输出段选码才行,否则显示就是乱码。
程序修改如下:
#include <reg51h>
#define uchar unsigned char
#define uint unsigned int
uchar LEDDATA[]= {0x06,0x5B,0x4F,0x66,0x6D,0x7D};
uchar WLED[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //位选
void delay()//延时子程序
{
uint j;
for(j=400;j>0;j--);
}
void main()
{ uchar i; //不用uint
while(1)
{ for(i = 0; i < 6; i++)
{ P2 = WLED[i];
P0 = LEDDATA[i];
delay();//延时
}
}
}
仿真结果
这种情况发生在以UTF-8编码格式传输数据的时候,这开头的三个字节叫做BOM(Byte Order Mark,字节顺序标记),小程序接收到php端返回的数据后,把开头的三个字节去掉即可。
更彻底的解决办法是把php文件保存为 不带BOM的UTF-8 文件,这样返回的数据就不带BOM了
以上就是关于c语言,用的visual 6.0 c++,中文乱码全部的内容,包括:c语言,用的visual 6.0 c++,中文乱码、求解,写了了小程序,放到proteus里面仿真,为什么出来的是乱码、PHP 后台接口返回小程序端的数据,在数据前面出现了乱码情况,怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)