level 1
#include "graphics.h"#
include "stdio.h"void huadian(char *hz,int x,int y,int ys)/*根据字模画点函数*/{int i,j,k;for (i=0;i<16;i++)for (j=0;j<2;j++) for (k=0;k<8;k++) if (hz[i*2+j]&(0x80>>k)) putpixel(x+k+j*8,y+i,ys);}int main(){int dm=VGA,gm=VGAHI;double i,j; /*我的问题在这里*/unsigned char zk[32],hzbuff[3]="情";FILE *fp;initgraph(&dm,&gm,"");i=hzbuff[0]-0xA0,j=hzbuff[1]-0xA0;/*内码与区位的相差是160,所以*/fp=fopen("hzk16","rb");if(fp==NULL) { printf("file not find!"); getch(); exit(0); }fseek(fp,(94*(i-1)+(j-1))*32,0);/*根据区位找到要显示汉字的地址*/fread(zk,32,1,fp);fclose(fp);huadian(zk,100,100,RED);getch();closegraph();}外挂的字库是UCDOS的HZK16本程序可以正常显示汉字,但是为什么必须是double才能正确显示
2005年10月19日 16点10分
1
include "stdio.h"void huadian(char *hz,int x,int y,int ys)/*根据字模画点函数*/{int i,j,k;for (i=0;i<16;i++)for (j=0;j<2;j++) for (k=0;k<8;k++) if (hz[i*2+j]&(0x80>>k)) putpixel(x+k+j*8,y+i,ys);}int main(){int dm=VGA,gm=VGAHI;double i,j; /*我的问题在这里*/unsigned char zk[32],hzbuff[3]="情";FILE *fp;initgraph(&dm,&gm,"");i=hzbuff[0]-0xA0,j=hzbuff[1]-0xA0;/*内码与区位的相差是160,所以*/fp=fopen("hzk16","rb");if(fp==NULL) { printf("file not find!"); getch(); exit(0); }fseek(fp,(94*(i-1)+(j-1))*32,0);/*根据区位找到要显示汉字的地址*/fread(zk,32,1,fp);fclose(fp);huadian(zk,100,100,RED);getch();closegraph();}外挂的字库是UCDOS的HZK16本程序可以正常显示汉字,但是为什么必须是double才能正确显示