[加入收藏]
[
教程购买
]
[服务指南]
首页
|
办公自动化
|
网页制作
|
平面设计
|
动画制作
|
数据库开发
|
程序设计
|
全部视频教程
应用视频:
Windows
|
Word2007
|
Excel2007
|
PowerPoint2007
|
Dreamweaver 8
|
Fireworks 8
|
Flash 8
|
Photoshop cs
|
CorelDraw 12
编程视频:
C语言视频教程
|
HTML
|
Div+Css布局
|
Javascript
|
Access数据库
|
Asp
|
Sql Server数据库
|
Asp.net
|
Flash AS
编程视频:
C语言视频教程
|
HTML
|
Div+Css布局
|
Javascript
|
Access数据库
|
Asp
|
Sql Server数据库
|
Asp.net2.0
|
Flash AS
应用视频:
Windows
|
Word2007
|
Excel2007
|
PowerPoint2007
|
Dreamweaver 8
|
Fireworks 8
|
Flash 8
|
Photoshop cs
|
CorelDraw 12
文字教程:
Windows教程
|
Word教程
|
Excel教程
|
PowerPoint教程
视频教程
:
Windows视频教程
|
Word2007视频教程
|
Excel2007视频教程
|
PPT2007视频教程
文字教程:
Dreamweaver教程
|
Fireworks教程
|
Flash教程
|
PhotoShop教程
|
HTML教程
|
Div+Css布局教程
视频教程:
Dreamweaver视频教程
|
Fireworks视频教程
|
Flash视频教程
|
PhotoShop视频教程
|
HTML视频教程
|
DIV+CSS视频教程
文字教程:
Fireworks教程
|
PhotoShop教程
|
CorelDraw教程
视频教程:
Fireworks 8视频教程
|
PhotoShop CS视频教程
|
CorelDraw12视频教程
文字教程:
Flash教程
|
Flash AS脚本教程
视频教程:
Flash 8视频教程
|
Flash AS视频教程
文字教程:
Access教程
|
sql server教程
视频教程:
Access数据库视频教程
|
Sql Server2005数据库视频教程
文字教程:
C语言教程
|
Javascript教程
|
Asp教程
|
Asp.Net网站开发教程
视频教程:
C语言视频教程
|
JavaScript视频教程
|
ASP视频教程
|
ASP.NET视频教程
|
网站制作视频教程
|
ASP动态网站制作视频教程
当前位置 >
文字教程
>
C语言程序设计教程
Tag:
新手
,
函数
,
指针
,
数据类型
,
对象
,
Turbo
,
入门
,
运算符
,
数组
,
结构
,
二级
,
例
,
tc
,
游戏
,
试题
,
问答
,
编译
,
视频教程
在C程序中显示汉字
文章类别:
C语言程序设计
| 发表日期:2010-12-28 9:11:07
在许多
C程序设计
中,要用到汉字进行提示或人机交互,而现行的Turbo C集成开发环境不是汉化的,如何编制能显示汉字的C程序呢?
下面的方法可以帮你在西文环境下显示汉字。这种方法是调用中文汉字库进行汉字显示。国家标准规定:汉字库分94个区,每个区有94个汉字(以位作区别),每个汉字在汉字库中有确定的区和位编号,这就是汉字的区位码。每个汉字在库中是以点阵字模形式存储的,一般采用16×16点阵(32字节)、24×24点阵(72字节),每个点用一个二进制位(0或1)表示,对应在屏幕上显示出来,就是相应的汉字。
由于在中文环境下,输入的是汉字的内码,我们必须将之转换成区位码,算出偏移量,从字库中找到对应的汉字,将其字模显示即可。
内码转换成区位码方法如下:
qh=c1-0xa0 wh=c2-0xa0
其区位码就是:
qw=qh*0xff+wh
该汉字在字库中离起点的位置是:
offset=(94*(qh-1)+(wh-1))*32L
程序例:
#include 〈graphics.h〉
#include 〈stdio.h〉
#include 〈fcntl.h〉
#include 〈io.h〉
#include 〈stdlib.h〉
#include 〈conio.h〉
#define ROW 1 //纵坐标放大倍数
#define COL 2 //横坐标放大倍数
void main()
{
int x,y;
char *s=″汉字显示程序″;
FILE *fp;
char buffer[32]; //buffer用来存储一个汉字
register m,n,i,j,k;
unsigned char qh,wh;
unsigned long offset;
int gd=DETECT,gm; //图形屏幕初始化
initgraph(&gd,&gm,″ ″);
if ((fp=fopen(″hzk16″,″rb″))==NULL)
//打开汉字库,该字库可以在ucdos中找到
{ printf(″Can't open haz16,Please add it″);
getch(); closegraph(); exit(0);
}
x=20; y=100; //显示位置设置
while(*s)
{ qh=*(s)-0xa0; //汉字区位码
wh=*(s+1)-0xa0;
offset=(94*(qh-1)+(wh-1))*32L; //计算该汉字在字库中偏移量
fseek(fp,offset,SEEK_SET);
fread(buffer,32,1,fp); //取出汉字32字节的点阵字模存入buffer中(一个汉字)
for (i=0;i〈16;i++) //将32位字节的点阵按位在屏幕上打印出来(1:打印,0:不打印),显示汉字
for(n=0;n〈ROW;n++)
for(j=0;j〈2;j++)
for(k=0;k〈8;k++)
for(m=0;m〈COL;m++)
if (((buffer[i*2+j]〉〉(7-k))&0x1)!=NULL)
putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n,GREEN);
s+=2; //因为一个汉字内码占用两个字节,所以s必须加2
x+=30;
}
getch();
closegraph();
}
上述程序在Turbo C 2.0编译系统下运行成功,它可以将汉字放大显示,读者可以将它改成函数用在您的程序中显示汉字。
上一篇:
{教程}用VC制作初始画面
人气:2034
下一篇:
{教程}怎样用VC制作旋转字体
人气:2509
C语言程序设计视频教程
Windows操作
[文]
Word教程
[文]
Excel教程
[文]
PowerPoint
[文]
Dreamweaver
[文]
Fireworks
[文]
Flash教程
[文]
PhotoShop
[文]
CorelDraw
[文]
C语言教程
[文]
Html教程
[文]
Div+Css布局
[文]
Javascript
[文]
ACCESS数据库
[文]
ASP教程
[文]
SQLServer
[文]
ASP.NET教程
[文]
FlashAS
[文]
视频教程列表
计算机基础入门及办公自动化:
Windows视频教程
Word视频教程
Excel视频教程
PPT视频教程
网页制作开发视频教程:
Dreamweaver视频教程
Fireworks视频教程
Flash视频教程
Photoshop视频教程
HTML视频教程
Div+Css布局视频教程
静态网站项目实例视频教程
平面广告设计视频教程
Fireworks视频教程
Photoshop视频教程
CorelDraw视频教程
初级程序设计及ASP动态网站开发
C语言视频教程
Javascript视频教程
Access数据库视频教程
Asp网站开发视频教程
Asp项目实例开发视频教程
Asp.net动态网站开发视频教程
Sql Server数据库视频教程
Asp.net视频教程
Flash 动画角本编程视频教程
Flash视频教程
Falsh MTV视频教程
文章教程搜索
输入您的搜索字词
google
本站
提交搜索表单
C语言程序设计推荐教程
.学习C语言最快速入门教程.
.北大青鸟C语言PPT学习大纲第十章
.北大青鸟C语言PPT学习大纲第十章
.北大青鸟C语言PPT学习大纲第九章
.C语言视频教程(21视频教程网)
.2002年4月计算机等级考试二级C语
.2001年9月计算机等级考试二级C语
.2001年9月计算机等级考试二级C语
.2001年9月计算机等级考试二级C语
.2001年9月计算机等级考试二级C语
.2001年9月计算机等级考试二级C语
.国家计算机二级考试程序修改与设
.国家计算机二级考试程序修改与设
.国家计算机二级考试程序修改与设
.国家计算机二级考试程序修改与设
.全国计算机等级考试二、三、四级考
.1998年9月全国计算机等级考试二
.1998年4月全国计算机等级考试二
.1997年9月全国计算机等级考试二
.1997年4月全国计算机等级考试二
.1996年9月全国计算机等级考试二
.1996年4月全国计算机等级考试二
.2001年9月基础知识知识和C语言程
.2001年9月全国计算机等级考试二
.2001年4月基础知识知识和C语言程
.2001年4月全国计算机等级考试二
.2000年9月基础知识知识和C语言程
.2000年9月全国计算机等级考试二
.2000年4月基础知识知识和C语言程
.2000年4月全国计算机等级考试二
C语言程序设计热门教程
.C语言编写的Mysql编程接口(4)
.C语言编写的Mysql编程接口(3)
.C语言编写的Mysql编程接口(2)
.C语言编写的Mysql编程接口(1)
.C语言教程:2013年计算机二级VB常
.C语言教程:2013年计算机二级VB常
.C语言教程:2013年计算机二级VB常
.C语言教程:2013年计算机二级VB常
.C语言教程:2013年计算机二级VB常
.C语言教程:变态的C语言Hello Wo
.C语言教程:变态的C语言Hello Wo
.C语言教程:变态的C语言Hello Wo
.C语言教程:变态的C语言Hello Wo
.C语言教程:变态的C语言Hello Wo
.C语言教程:变态的C语言Hello Wo
.C语言教程:C语言模拟试题五
.C语言教程:C语言模拟试题四
.C语言教程:C语言模拟试题三
.C语言教程:C语言模拟试题二
.C语言教程:C语言模拟试题一
.C语言考试:2012年全国计算机等级
.C语言考试:2012年全国计算机等级
.C语言考试:2012年全国计算机等级
.C语言考试:2012年全国计算机等级
.C语言考试:2012年全国计算机等级
.C语言教程:指针变量的运算分析
.C语言教程:main函数的参数分析
.C语言教程:指针型函数分析
.C语言教程:函数指针变量分析
.C语言教程:多维数组的指针变量分
Word教程网
Excel教程网
Dreamweaver
教程网
Fireworks教程网
PPT教程网
FLASH教程网
PS教程网
HTML教程网
DIV CSS教程网
FLASH AS教程网
ACCESS教程网
SQL SERVER教程网
C语言教程网
JAVASCRIPT教程网
ASP教程网
ASP.NET教程网
CorelDraw教程网
关于我们
|
教程购买
|
广告刊登
|
网站地图
|
湖北继续教育网
|
QQ:2693987339(点击联系)购买教程光盘
地址:湖北省武汉市曹家湾32号501室 电话:027-86646545 15972130058
--
教程购买问题汇总
21视频教程网专业的网站开发视频教程学习网站
ICP备案号:
鄂ICP备14009716号-13
公安备案号:
42011102002974
看全部视频教程
购买方式/价格
:
咨询客服
tel:
15972130058