『第 2 楼』:
我编写的显示汉字的C语言头文件
使用 LLM 解释/回答一下
#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;
flag16=open("c:\\ccdos\\hzk16", O_RDWR|O_BINARY);
if(flag16==-1){ printf("cannot open hz16\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">; 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,7-k))
for(height=0;height>n)&0x01);
}
希望大家批评指正!
|