公司有個資料庫,裡面的資料都是電信碼,該如何轉換成BIG5碼?我們要轉換後才能讀取篩選裡面的資料,請教各位先進該如何處理???
2006-12-25 19:44:32 · 1 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
查了一下,電信碼有 12490 個字,我也沒看過轉換的軟體。
下面是我寫的粗劣轉換程式,使用上並不方便。
你可以自己修改,或者提供須轉換的部分資料,不過必須為
TXT檔,轉換完在存回資料庫。
這樣我才能提供完整的程式。
PS:請不要提供完整的資料,只需要部份,而且格式一樣的資
料,公司資料外洩,我會惹上很多麻煩。
另外需要電信碼的資料,請自行下載,並放在程式同目錄。
http://myweb.hinet.net/home2/roc/cinput/telecode.zip
----------------------------------------
#include
#include
#include
#include
#include
void main(void){
char Code[12490][3]={0};
char CodeN[12490][6]={0};
char temp[100]={0};
int len=0,i,n;
FILE *fin;
if((fin = fopen("telecode.txt","r"))==NULL){
printf("NO file\n");
exit(0);
}
while(getc(fin)!='\\n');
while(getc(fin)!='\\n');
for(i=0;i<12490;i++){
fscanf(fin,"%s %s\\n",CodeN[i],Code[i]);
//printf("%s,%s\\n",CodeN[i],Code[i]);
}
fclose(fin);
printf("******簡易電信碼BIG5碼互換******\n");
printf("1.BIG5轉電信碼\n");
printf("2.電信碼轉BIG5\n");
printf("********************************\n");
switch(getchar()){
case'1':
printf("請輸入一串中文:");
scanf("%s",temp);
len=strlen(temp);
printf("%s\\n",temp);
for(i=0;i
t[0]=temp[i];
t[1]=temp[i+1];
n=0;
while(t[0]!=Code[n][0]||t[1]!=Code[n][1]&&n<12490){
n++;
//printf("%s\\n",Code[n-1]);
}
printf("%s",CodeN[n]);
}
printf("\\n");
break;
case '2':
printf("請輸入電信碼(不要有空格):");
scanf("%s",temp);
len=strlen(temp);
for(i=0;i
t[0]=temp[i];
t[1]=temp[i+1];
t[2]=temp[i+2];
t[3]=temp[i+3];
if(temp[i++]=='.')t[4]=temp[i+3];
else i--;
//printf("%s\n",t);
n=0;
while(t[0]!=CodeN[n][0]||t[1]!=CodeN[n][1]||
t[2]!=CodeN[n][2]||t[3]!=CodeN[n][3]||
t[4]!=CodeN[n][4]&&n<12490)n++;
printf("%s\\n",Code[n]);
}
break;
default:
break;
}
system("PAUSE");
}
2006-12-26 10:40:35 補充:
另外補充,今天是12/26,晚上就要出門一段日子,沒有電腦。
有什麼需求請下午2點以前說明,逾期無效。
2006-12-26 12:09:44 補充:
如需要視窗介面且功能齊全,並長期使用的應用軟體,不
急的話,請來信詳談。
EMAIL: pm-am@yahoo.com.tw
來信後請靜候回音。
2006-12-26 05:37:49 · answer #1 · answered by poolqa 3 · 0⤊ 0⤋