标题:请教书上的一个显示汉字的程序为什么不成功。
只看楼主
tvkl
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-4-7
 问题点数:0 回复次数:2 
请教书上的一个显示汉字的程序为什么不成功。

#include<dos.h>
#include<stdio.h>
#include<conio.h>
void cls(void);
int main()
{
cls();
directvideo=0;
textattr(0x1e);
printf("计算机是我们的朋友\n");
cputs("计算机是我们的朋友\n");
getch();
}
void cls(void)
{
union REGS regs;
regs.h.ah=6;
regs.h.al=0;
regs.h.ch=0;
regs.h.cl=0;
regs.h.dh=24;
regs.h.dl=79;
regs.h.bh=7;
int86(0x10,&regs,&regs);

}

结果显示出来为乱码。
书上一段话也不懂。请教一下。
中文DOS在开发中对int10H功能做了很好的保留与扩充,因此,只要在图形状态下,汉字c语言程序可以正常运行。有以下几种方法来实现:
1。在中文环境下利用汉化文字编辑器编辑带汉字的C语言程序。
2。在西文环境下编译C程序,可形成可执行文件。
3。在中文环境下运行可执行程序。
我用文本编译器编译再TC2.0编译成可执行文件。Dos下执行。依然是乱码。

还有一个问题是:不通过编译器。怎么样在Dos下用命令编译、链接C程序。

谢谢各位赏脸给我一个答案。不胜感激!

搜索更多相关主题的帖子: regs 计算机 汉字 void cls 
2007-04-13 08:21
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
得分:0 
我记得要在中文环境下显示汉字可以在程序中直接用以下形式实现:
main()
{
printf("你好\n");
puts("世界");
getch();
}
编译后直接运行显示乱码,但加载了中文环境如CCDOS后就能看相应的汉字。你是不是没加载中文环境啊?
另,不通过编译器,你指的是不用编译器的IDE环境吧?如果你用的是TC的话,可以用TCC在命令行下编译你的程序,用法你直接执行TCC就能看到。
2007-04-13 09:18
tvkl
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-4-7
得分:0 

嗯!
谢谢指点。问题解决了。

呵呵tcc用不习惯!


没有解决不了的问题,时间而已!
2007-04-13 10:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-131465-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.277410 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved