tvkl 发表于 2007-4-13 08:21

请教书上的一个显示汉字的程序为什么不成功。

<P>#include&lt;dos.h&gt;<BR>#include&lt;stdio.h&gt;<BR>#include&lt;conio.h&gt;<BR>void cls(void);<BR>int main()<BR>{<BR>cls();<BR>directvideo=0;<BR>textattr(0x1e);<BR>printf("计算机是我们的朋友\n");<BR>cputs("计算机是我们的朋友\n");<BR>getch();<BR>}<BR>void cls(void)<BR>{<BR>union REGS regs;<BR>regs.h.ah=6;<BR>regs.h.al=0;<BR>regs.h.ch=0;<BR>regs.h.cl=0;<BR>regs.h.dh=24;<BR>regs.h.dl=79;<BR>regs.h.bh=7;<BR>int86(0x10,&amp;regs,&amp;regs);<BR><BR>}<BR><BR>结果显示出来为乱码。<BR>书上一段话也不懂。请教一下。<BR>中文DOS在开发中对int10H功能做了很好的保留与扩充,因此,只要在图形状态下,汉字c语言程序可以正常运行。有以下几种方法来实现:<BR>1。在中文环境下利用汉化文字编辑器编辑带汉字的C语言程序。<BR>2。在西文环境下编译C程序,可形成可执行文件。<BR>3。在中文环境下运行可执行程序。<BR>我用文本编译器编译再TC2.0编译成可执行文件。Dos下执行。依然是乱码。<BR><BR>还有一个问题是:不通过编译器。怎么样在Dos下用命令编译、链接C程序。<BR><BR>谢谢各位赏脸给我一个答案。不胜感激!</P>

一笔苍穹 发表于 2007-4-13 09:18

我记得要在中文环境下显示汉字可以在程序中直接用以下形式实现:<BR>main()<BR>{<BR>   printf("你好\n");<BR>   puts("世界");<BR>   getch();<BR>}<BR>编译后直接运行显示乱码,但加载了中文环境如CCDOS后就能看相应的汉字。你是不是没加载中文环境啊?<BR>另,不通过编译器,你指的是不用编译器的IDE环境吧?如果你用的是TC的话,可以用TCC在命令行下编译你的程序,用法你直接执行TCC就能看到。

tvkl 发表于 2007-4-13 10:35

<P>嗯!<BR>谢谢指点。问题解决了。<BR>[em22]<BR>呵呵tcc用不习惯!<BR></P>

页: [1]

编程论坛