首页 > 代码库 > warning: #870-D: invalid multibyte character sequence
warning: #870-D: invalid multibyte character sequence
warning: #870-D: invalid multibyte character sequence
2011-03-12 9:18
warning: #870-D: invalid multibyte character sequence
const unsigned char mm[]={"中华人民共和国"};
MDK3.40版本版本有告警,C-MDK 3.70正常
警告内容告诉你:invalid multibyte character sequence 非法的多字节字符串。
这就是说你的编译器不支持多字节字符,即不支持非ASCII字符。
使用字符串格式就没有问题了,和编译器版本有关
比如
char *str;
str = "我是中文字符串";
不用管它就行了。这是编译器的功能,老外的ASCII码都是127以下,中国人用的是127以上,编译器是给老外写的,自然会以为全世界的字符都是ASCII码了,看到这种“非法”的字符哪能不马上跳起来告诉你,以体现他们“人性化”的设计。
老式终端里,数据(也就是标准ASCII码)只有7位,超过127的编码,别说是查示不出来,传输都会出问题。那个警告其实想告诉你的就是那意思。
我在C的选项里把警告输出关掉了,眼不见,心不烦。
keil中警告:invalid multibyte character sequence
//#pragma diag_suppress 77,550,1294,1295
#pragma diag_suppress 870
用这个方法解决,这个狗KEIL的例子里找到的,我已经实验成功了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。