Kinglion
铂金会员
痴迷DOS者
积分 5792
发帖 1921
注册 2003-6-20 来自 金獅電腦軟體工作室
状态 离线
|
『第
2 楼』:
我编写的显示汉字的C语言头文件
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define Byte unsigned char
#define Word unsigned int
int flag16, flag24;
void out16hz(int,int,int,int,char *);
void out24hz(int,int,int,int,int,int,char *);
int convert(Byte ch,int n);
void out16hz(int x,int y,int z,int color,char *p)
{
Word num, QM,WM,flag=0;
int recod,i,j,k;
long pointer;
char Bit[32];
flag16=open("c:\\ccdos\\hzk16", O_RDWR|O_BINARY);
if(flag16==-1){ printf("cannot open hz16\n" exit(1);}
while((num=*p++)!=0)
{
if(num>0xA1)
if(flag==0)
{ QM=(num-0xA1)&0x07F; flag=1; }
else
{
WM=(num-0xA1)&0x07F;
flag=0;
recod=QM*94+WM;
pointer=recod*32L;
lseek(flag16,pointer,SEEK_SET);
read(flag16,Bit,32);
for(i=0;i<16;i++)
for(j=0;j<2;j++)
for(k=0;k0xA1)
if(flag==0)
{ QM=(num-15-0xA1)&0x07F; flag=1; }
else
{
WM=(num-0xA1)&0x07F;
flag=0;
record=QM*94+WM;
pointer=record*72L;
lseek(flag24,pointer,SEEK_SET);
read(flag24,Bit,72);
for(i=0;i<24*m;i=i+m)
for(width=0;width<m;width++)
for(j=0;j<=2;j++)
for(k=0;k<8;k++)
if(convert(Bit[i/m*3+j],7-k))
for(height=0;height>n)&0x01);
}
希望大家批评指正!
|
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
|
|