VS当中c++程序窗体显示乱码的问题

原来编码是GB2312,窗体显示一个char字符串乱码,保存为utf-8无签名就没事了。gb2312所有字符都以2字节存储,c中的char类型汉字呢,在内存中是以1个字节... 原来编码是GB2312,窗体显示一个char字符串乱码,保存为utf-8无签名就没事了。
gb2312所有字符都以2字节存储,c中的char类型汉字呢,在内存中是以1个字节存的,还是2两个字节?程序显示解码读取的时候,是以编码的2字节解读,还是char的1字节?
还是说,内存程序输出的字节都是对的,但是在显示的时候,映射到本地locale的时候,因为编码问题而现实的不一样呢?如果是这样的话,控制台gb2312输出的中文却没有乱码
展开
 我来答
雪V歌1
2017-12-15 · TA获得超过7104个赞
知道大有可为答主
回答量:5523
采纳率:89%
帮助的人:537万
展开全部
这是因为编译器不支持。以下为几种常用的编译器

c++编译器是一个与标准化C++高度兼容的编译环境。这点对于编译可移植的代码十分重要。编译器对不同的CPU会进行不同的优化。
常见的C++编译器有如下几种:
GNU C++
g++是一个开源的C++编译器,GCC3.3对标准化C++的支持达96.15%。
值得一提的是,gcc是gnu c的编译器, g++是gnu c++的编译器, 而egcs(Enhanced GNU Compiler Suite)可以认为是gcc的改进版。目前gcc已经改名,从原来代表GNU C Compiler改变为代表GNU Compiler Collection。而MinGW或Cgywin,是在windows平台上的gnu c/c++编译器,以及库文件,运行环境的集合。
Borland C++
该编译以速度快、空间效率高而著称。它的5.5版本对标准化C++的支持达92.73%,而官方称100%符合ANSI/ISO的C++标准和C99标准。
它是Borland公司开发的,是Borland C++ Builder和Borland C++ Builder X这两种IDE的后台编译器。
Visual C++
VC++6.0对标准化C++的兼容仅达83.43%。
它是Visual Studio、Visual Studio.net 2002、Visual Studio.net 2003、Visual Studio.net 2005的后台C++编译器。随着Stanley Lippman等编译器设计大师的加盟,它变得非常成熟可靠了。Visual C++
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式