为什么程序执行为乱码?

为什么程序执行为乱码?,第1张

一楼的运肢梁行之所以没有出错,是他把“p++”这一行留在了注释中了。

原来的程序之所以出错,是因为循环体的最后一句p++把p指向了尚未赋值的元素。如果在循环结束后直接输出*p的话,就是输春缺出buf[4](数组越界了,且尚未赋历森运值)。

1.点正渗击开始按钮,然后点击“控制面板”

2.先将“查看方式”设置成“类别”,然后点击“时钟、语言和区域”

3.再点击“区域和语言”

4.点击“管理”选项卡,然后点击“更改系统区域设置”

5.将“当前系统区域设置”设置成“英语(英国)”,然后点击确定按钮,重启电脑。(重启电脑后整个系统通常会全部变成乱码-。举慧脊-

所以重启前一定要记住如何找到这个设置位置)

6.重启电脑后(电脑现在全乱了吧),再次找到上面那个位置,将“当前系统区域设置”设置成“中文(简体,中国)”,点击确定按钮,重启电脑。

7.经过上述 *** 作,碧正大部分电脑乱码问题可以解决,如果你的问题没还是没有解决,应该是系统缺少了字体导致的,需要安装一下,以下字体库simsun.ttc,下载地址:http://www.kuaipan.cn/file/id_3696880215130123.html

8.双击下载后的字体库文件,然后点击安装按钮,重启电脑。

汉字乱码现象有4种类型:

1.文本乱码:是Windows系统显示乱码,如:菜单、桌面、提示框等。这是由于注册表中有关字体部分的设置不当引起的;

2.文档乱码:是各种应用程序、游戏本来显示中文的地方出现乱码。这种乱码形成的原因比较复杂,有第1类的乱码原因,也可能是软件中用到的中文动态链接库被英文动态链接库覆盖所造成的;

3.文件乱码:主要是指邮件乱码;

4.网页乱码:是由于港台的繁体中文大五码(BIG5)与大陆简体中文(GB2312)不通用而造成的。

消除各类乱码的方法

一 系统乱码的消除方法

这类乱码是由于在Windows注册表中,关于字体部分配置不正常造成的,即使你用内码翻译困毕软件处理也不会消除这类乱码。那怎么办呢?请跟我来:

方法一:找一台与你的Windows版本相同且显示正常的机器,依下列步骤进行:

1.在正常机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器;

2.请你将光标定位到“轮衫HKEY_LOCAL_MACHINE\ system\CurrentControlSet\Control\

Fontassoc”,然后选择“注册表”→“导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如ZT.REG)中;

3.把ZT.REG文件拷贝到你那显示乱码的机器上,方法是:在显示乱码的机器上运行“regedit”,打开注册表编辑器,选择“注册表”→“导入注册注册表”,把ZT.REG文件导入注册表中即可。

方法二:如果你找不到一台与你的Windows版本相同且显示正常的机器,则需要手工恢复字体部分的注册表

项,其步骤是:

1.首先在显示乱码的机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器;

2.选择“HKEY_LOCAL_MACHINE\System\

CurrentControlSet\Control\Fontassoc”,正常情况下,会有Associated DeaultFonts、Associated

CharSet两个文件夹,其正确的内容应是:

子目录内容

中文Win98

中文Win98(OEM版)

中文Win2000

Associated CharSet

ANSI(00)=“yes”

GB2312(86)=“yes”

DEN(FF)=“yes”

SYMBOL(02)=“no”

ANSI(00)=“yes”

GB2312(86)=“yes”

OEM(FF)=“yes”

SYMBOL(02)=“no”

ANSI(00)=“yes”

OEM(FF)=“yes”

SYMBOL(02)=“no”

Associated DefaultFonts

AssocSystemFont=“simsun.ttf”

FontPackageDecorative=“宋体”

FontPackageDontcare=“宋体”

FontPackageModern=“宋体”

FontPackageRoman=“宋体”

FontPackageScript=“宋体”

FontPackageSwiss=“宋体”

AssocSystemFont=“simsun.ttf”

FontPackage=“新宋体”

FontPackageDecorative=“新宋体”

FontPackageDontcare=“新宋体”

FontPackageModern=“新宋体”

FontPackageRoman=“新宋体”

FontPackageScript=“新宋体”

FontPackageSwiss=“新宋体”

3.当出现汉字乱码时,上述两个文汪桐芹件夹中的内容就会不完整,有的没有Associated CharSet文件夹或其中的内容残缺不全;有的

Associated DefaulFonts下的内容残缺。如果遇到这种情况怎么办呢?其实你只要打开注册表编辑器,在

“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Fonassoc”下,根据以上的正确内容恢复即可。

二 应用程序、游戏乱码的消除方法

明明是中文软件,可显示界面上却出现乱码,这可能是由于注册表中关于字体设置的信息不正确地被改变而造成的,一般是因为软件的中文链接库被英文链接库覆盖而引起的,这种现象经常发生在用微软开发工具,例如VB、VC开发的中文软件上。在这类软件中,菜单等显示界面上的汉字都是受一个动态链接库“.DLL文件”控制,而软件的这个动态链接库一般是安装在Win

98/2000的System目录下的,如果以后你安装了某个英文软件也使用同名的动态链接库,则英文软件的动态链接库就会覆盖掉你原先的Windows\System下的中文软件的动态链接库。这样,当你运行中文软件时就会调用英文的动态链接库


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12568636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存