大哥们帮忙看一下这个输出汉字程序哪有问题呀
#include"stdio.h"#include"graphics.h"
#include"fcntl.h"
#include"io.h"
#innclude"stdlib.h"
int hzkp;
void openhzk(void);
void gethz(char incode[],char bytes[]);
void dishz(int x,int y,char code[],int color);
main()
{int x=20;
int y=100;
char *s="春眠不觉晓处处闻啼鸟夜来风雨声花落知多少";
int driver=DETECT;
int mode;
initgraph(&driver,&mode,"");
openhzk();
while(*s!=NULL)
{while(x<640&&(*s!=NULL))
{dishz(x,y,s,LIGHTENRED);
x+=20;
s+=2;
}
x=20;,y+=20;
}
getch();
close(hzkp);closegraph();
}
void openhzk()
{hzkp=open("e:\\turboc2\\hzk16",O_BINARY|O_RDONLY);
if(hzkp==-1)
{printf("the file HZK16 not exir! enter to systerm\n");
getch();
closegraph();
exit(1);}}
void gethz(char incode[],char bytes[])
{unsigned char qh,wh;
unsigned long offser;
qh=incode[0]-0xa0;
wh=incode[1]-0xa0;
offset=(94*(qh-1)+(wh-1));
lseek(hzkp,offset,SEEK_SET);
read(hzkp,bytes,32);
}
void dishz(int x0,int y0,char code[],int color)
{unsigned char mask[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
register int i,j,x,y,pos;
char mat[32];
gethz(code,mat);
y=y0;
for(i=0;i<16;++i)
{x=x0;
pos=2*i;
for(j=0;j<16;++j)
{if((mask[j%8]&mat[pos+j/8])!=NULL)
putpixel(x,y,color);
++x;}