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

搜狗输入法词库格式:

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

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

你可能感兴趣的:(C语言)