现在的位置: 首页 > 综合 > 正文

用C语言将搜狗输入法词库转换成QQ拼音输入法词库

2017年12月19日 ⁄ 综合 ⁄ 共 2027字 ⁄ 字号 评论关闭

搜狗输入法词库格式:

'ni'kan'xia 你看下
'ni'kan'xia'gai'hou 你看下改后
'ni'kan'xing'ma 你看行吗
'ni'kan'zen'me'yang 你看怎么样
'ni'kan'zhe 你看着
'ni'kan'zhe'ban 你看着办
'ni'kan'zhe'jiu'xing 你看着就行
'ni'kao'bu'kao 你考不考
'ni'kao'de 你考得
'ni'kao'wan 你考完
'ni'kao'yan 你考研
'ni'kao'yan'ma 你考研吗 

QQ拼音输入法词库格式:

nong'hao'le'fa'gei'ni 弄好了发给你 1, nong'hao'le'fa'gei'ni 1
nong'huai'le 弄坏了 1, nong'huai'le 1
nong'hui'lai'le 弄回来了 1, nong'hui'lai'le 1
nong'lai 弄来 1, nong'lai 1
nong'le 弄了 1, nong'le 1
nong'le'yi'tian 弄了一天 1, nong'le'yi'tian 1
nong'le'yi'xia 弄了一下 1, nong'le'yi'xia 1
nong'mei 浓眉 1, nong'mei 1
nong'mi 浓密 1, nong'mi 1
nong'min 农民 1, nong'min 1
nong'ming'bai 弄明白 1, nong'ming'bai 1 

 

 

  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <string.h>  
  4. #define MAXLINE 100000  
  5. #define BUFLEN 10240  
  6. int main()  
  7. {  
  8.     FILE *file,*fw;  
  9.     fw = fopen("b.txt","a");//以追加方式写入  
  10.     char buf[BUFLEN];  
  11.     int len=0,i=0,j;  
  12.     char *array[MAXLINE];  
  13.       
  14.     file=fopen("a.txt","r");  
  15.     if(!file)  
  16.         return -1;  
  17.     while(fgets(buf,BUFLEN,file))  
  18.     {  
  19.         len=strlen(buf);  
  20.         array[i]=(char*)malloc(len+1);  
  21.         if(!array[i])  
  22.             break;  
  23.         strcpy(array[i++],buf);  
  24.         putchar('\n');  
  25.     }  
  26.     int first=0;  
  27.     fclose(file);  
  28.     i--;  
  29.     while(i>=0&&array[i])  
  30.     {  
  31.         first=0;  
  32.         printf("%s\n",array[i]);  
  33.         for(j=0;array[i][j+1]!='\0';j++)  
  34.         {  
  35.             if(first==0&&array[i][j]=='\'')  
  36.             {  
  37.                 first=1;  
  38.             }  
  39.             else 
  40.             {  
  41.                 fprintf(fw,"%c",array[i][j]);  
  42.             }  
  43.         }  
  44.         first=0;  
  45.         fprintf(fw," 1, ");  
  46.         for(j=0;array[i][j+1]!='\0';j++)  
  47.         {  
  48.             if(first==0&&array[i][j]=='\'')  
  49.             {  
  50.                 first=1;  
  51.             }  
  52.             else 
  53.             {  
  54.                   
  55.                 if (array[i][j]==39||(array[i][j]>=97&&array[i][j]<=122))  
  56.                 {  
  57.                     fprintf(fw,"%c",array[i][j]);  
  58.                 }  
  59.             }  
  60.         }  
  61.         fprintf(fw," 1\n");  
  62.         free(array[i--]);  
  63.         first=1;  
  64.     }  
  65. }  
  66.  

 

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/702510

抱歉!评论已关闭.