?? jian-h2.c
字號:
//********************************************
//文件名:JIAN-H2.C
//功能:建立漢字庫頭文件
//********************************************
#include<stdio.h> //1.
#include<string.h> //2
void main() //3.
{ //4.
unsigned char *str="輸入出需要查找的文件名" //5.定義字符串
"已經(jīng)存在繼續(xù)嗎沒有到柱面磁頭扇區(qū)編號獲得" //6.
"幫助程序使用方法錯誤十六進制和或字符顯示" //7.
"數(shù)據(jù)打開失敗備份拷貝搬移寫清零源第節(jié)總算術" //8.
"是否去盤輯按鍵退出建立多少大小上下一二個塊" //9.
"復起始終止存儲主引導每簇目錄登記項分配表整" //10.
"余占擴展基本該當前運行重新道向后將時增減" //11.增加了部分漢字
"比較任何中不同相等加解密鑰鎖請看" //
"ABCDEFGHIJKLMNOPQRST" //12.
"UVWXYZ1234567890,。!+-" //13.
":/.()?〖〗\"; //14.
unsigned k,l; //15.
unsigned char c; //16.
int i,j; //17.
int qu,wei; //18.定義區(qū)碼和位碼變量
long sp; //19.
FILE *fp,*hzlib; //20.
l=strlen(str); //21.取字符串長度
fp=fopen("hzku2.h","w"); //22.以寫方式打開頭文件
fprintf(fp,"unsigned sb[%u]={\n",l/2); //23.將漢字個數(shù)寫入一維數(shù)組
j=1; //24.
while(*str) //25.
{ //26.
k=*str+(*(str+1))*256; //27.取機內(nèi)碼兩字節(jié)的正整數(shù)值
str=str+2; //28.指針移到下一個漢字
printf("%u\n",k); //29.顯示漢字特征值
if(j<l/2) //30.
fprintf(fp,"%u,",k); //31.將特征值寫入頭文件
else //32.
fprintf(fp,"%u};\n",k); //33.
if(j%8==0) //34.寫入8個值換行
fprintf(fp,"\n"); //35.
j++; //36.
} //37.
str=str-l; //38.調(diào)整字符串指針
fprintf(fp,"unsigned buff[%u][32]={\n",l/2); //39.將漢字個數(shù)寫入二維數(shù)組
hzlib=fopen("hzk16","rb"); //40.打開標準字庫
j=1; //41.
while(*str) //42.
{ //43.
fprintf(fp,"{"); //44.
qu=*str-0xa0; //45.換算區(qū)碼
wei=*(str+1)-0xa0; //46.換算位碼
sp=(qu-1)*94+wei-1; //47.算位移值
sp*=32; //48.
fseek(hzlib,(long)sp,0); //49.移動文件指針到漢字處
for(i=1;i<32;i++) //50.
{ //51.
c=fgetc(hzlib); //52.讀取字模
fprintf(fp,"0x%x,",c); //53.將字模寫入二維數(shù)組
if(i%8==0) //54.寫入8個值換行
fprintf(fp,"\n"); //55.
} //56.
c=fgetc(hzlib); //57.
if(j<l/2) //58.
fprintf(fp,"0x%x},\n\n",c); //59.
else //60.
fprintf(fp,"0x%x}\n",c); //61.
str=str+2; //62.指針移到下一個漢字
j++; //63.
} //64.
fprintf(fp,"};"); //65.
fclose(fp); //66.關閉文件
fclose(hzlib); //67.
} //68.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -