• 大小: 2.26MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-14
  • 语言: C/C++
  • 标签: HZK24  

资源简介

在DEV C++5.3开发环境下测试通过HZK16,HZK24,HZK32正常读,通过控制台显示出读出来的字库实例,在网上找了很多,很多不能调试通过,花些时间去调试,程序简单,可读性强,这里可以节省大家的时间

资源截图

代码片段和文件信息

#include 
#include 

/* run this program using the console pauser or add your own getch system(“pause“) or input loop */

/*
说明 字库文件放在C,D盘根目录下 fopen函数中的目录要改变
 szHZK32这个变量在HKZ32.CPP文件中定义, 本次运行环境是dev c++ 5.3环境通过 
*/ 

extern unsigned char szHZK32[];

void Disp_HZK16(vooid)
{
FILE *fp;
char qhwh;
unsigned long offset;
int array[16][16];
char mat[16][2];
char inclode[2] = {“涛“}; // 要读出的字符 
int ijk;
char a = 0;

qh = inclode[0] - 0xa0; //区号
wh = inclode[1] - 0xa0; //位号
offset = (94*(qh - 1) +(wh - 1))*32;
printf(“输出的16位汉字,区号,位号\n“);
putchar(inclode[0]);
putchar(inclode[1]);
putchar(‘‘);
printf(“%d%d\n“qhwh);
 
if((fp = fopen(“c:\\HZK16““rb“)) == NULL)
{
printf(“\ncan not open file strike any key exit“);
getch();
exit(1);
}
fseek(fpoffsetSEEK_SET);
fread(mat321fp);
fclose(fp);


for(i=0; i<16; i++)
{
for(j=0; j<2; j++)
{
for(k=0; k<8; k++)
{
if(mat[i][j] & (0x80>>k))array[i][a+k] = ‘+‘;
else array[i][a+k] = ‘ ‘;
}
a += 8;

}
a = 0;
}

for(i=0; i<16; i++)
{
for(j=0; j<16; j++)
{
printf(“%c“array[i][j]);
}
printf(“\n“);
}
printf(“\n“);
}

void Disp_HZK24(vooid)
{
FILE *fp;
char qhwh;
unsigned long offset;
int array[24][24];
char mat[24][3];
char inclode[2] = {“⑶“}; // 要读出的字符 
int ijk;
char a = 0;

qh = inclode[0] - 0xa0; //区号
wh = inclode[1] - 0xa0; //位号
offset = (94*(qh - 1) +(wh - 1))*72;
printf(“输出的24位汉字,区号,位号\n“);
putchar(inclode[0]);
putchar(inclode[1]);
putchar(‘‘);
printf(“%d%d\n“qhwh);
 
if((fp = fopen(“d:\\HZK24““rb“)) == NULL)
{
printf(“\ncan not open file strike any key exit“);
getch();
exit(1);
}
fseek(fpoffsetSEEK_SET);
fread(mat721fp);
fclose(fp);


for(i=0; i<24; i++)
{
for(j=0; j<3; j++)
{
for(k=0; k<8; k++)
{
if(mat[i][j] & (0x80>>k))array[i][a+k] = ‘+‘;
else array[i][a+k] = ‘ ‘;
}
a += 8;

}
a = 0;
}

for(i=0; i<24; i++)
{
for(j=0; j<24; j++)
{
printf(“%c“array[i][j]);
}
printf(“\n“);
}
printf(“\n“);
}


void Disp_HZK32(void)
{
FILE *fp;
char qhwh;
unsigned long offset;
int array[32][32];
char mat[32][4];
char inclode[2] = {“啊“}; // 要读出的字符 
int ijk;
char a = 0;

//inclode[0] = 0xa1;
//inclode[1] = 0xa2;

qh = inclode[0] - 0xa0; //区号
wh = inclode[1] - 0xa0; //位号
offset = (94*(qh - 1) +(wh - 1))*128;
printf(“输出的32位汉字,区号,位号\n“);
putchar(inclode[0]);
putchar(inclode[1]);
putchar(‘‘);
printf(“%d%d\n“qhwh);
 
if((fp = fopen(“c:\\HZK32““rb“)) == NULL)
{
printf(“\ncan not open file strike any key exit“);
getch();
exit(1);
}
fseek(fpoffsetSEEK_SET);
fread(mat1281fp);
fclose(fp);


for(i=0; i<32; i++)
{
for(j=0; j<4; j++)
{
for(k=0; k<8; k++)
{
if(mat[i][j] & (0x80>>k))array[i][a+k] = ‘+‘;
else array[i][a+

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     261696  2009-03-05 15:36  hzk\HZK\HZK16

     文件     588816  2009-03-05 15:35  hzk\HZK\HZK24

     文件    1046784  2009-03-05 15:33  hzk\HZK\HZK32

     文件       1014  2014-10-10 16:13  hzk\hzk.dev

     文件    1098994  2014-10-11 11:23  hzk\hzk.exe

     文件        189  2014-10-11 11:30  hzk\hzk.layout

     文件    5495651  2014-10-10 16:15  hzk\HZK32.Cpp

     文件    1054670  2014-10-10 16:15  hzk\HZK32.o

     文件       4388  2014-10-11 11:30  hzk\main.c

     文件      19318  2014-10-11 11:23  hzk\main.o

     文件        927  2014-10-11 11:23  hzk\Makefile.win

     目录          0  2014-10-11 11:31  hzk\HZK

     目录          0  2014-10-11 11:31  hzk

----------- ---------  ---------- -----  ----

              9572447                    13


评论

共有 条评论

相关资源