CreateLib.h
上传用户:hyb6888
上传日期:2016-01-24
资源大小:5186k
文件大小:2k
源码类别:

输入法编程

开发平台:

Visual C++

  1. // reateLib.h: interface for the CreateLib class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "windows.h"
  5. #include "stdio.h"
  6. #if !defined(AFX_REATELIB_H__A93CA9E0_A363_4A5E_BC30_3C92584E2B09__INCLUDED_)
  7. #define AFX_REATELIB_H__A93CA9E0_A363_4A5E_BC30_3C92584E2B09__INCLUDED_
  8. #if _MSC_VER > 1000
  9. #pragma once
  10. #endif // _MSC_VER > 1000
  11. #include "tool.h"
  12. #include "stdio.h"
  13. class mynode  
  14. {
  15. public:
  16. char *Enstr;
  17. char *Chistr;
  18. char *ChistrEx;
  19. mynode *Next;
  20. int len;
  21. mynode( )
  22. {
  23. Enstr=NULL;
  24. Chistr=NULL;
  25. ChistrEx=NULL;
  26. Next=NULL;
  27. len=3;
  28. }
  29. };
  30. class CreateLib  
  31. {
  32. unsigned long Sqrt(long num,int p);//求平方
  33. long getheadID(char *ss,int long lon);    //由指定的编码转换成头接点号
  34. inertNewdnode(mynode *NP,mynode *pHead);
  35. inertNewdnodeEx(mynode *NP,mynode *pHead);
  36. writeChLib(mynode *pHead,HANDLE outfp); //输出中文字库
  37. unsigned long writeIndex(mynode *pHead,HANDLE outfp,unsigned long count); //输出地址
  38. int CreatNode(FILE  *fp);
  39. int CreatNodeEx(FILE *fp,tool *mytool);
  40. int Base, GoldeNum, GoldeLen;
  41.     unsigned long ht;
  42. // 对于主程序是小程序,分配大的内存会引起主程序终止。因此改为使用指针。
  43. // mynode pChHead[20000]; 
  44. mynode *pChHead;
  45.     //LocGoldeNum=27时,使用头二个字符本变量为729,
  46. //头三个19683,但要视变量而定LocGoldeNum
  47. //而且要设为外部变量,否则堆栈会满
  48.     long LIBnum;//汉字库的个数
  49.     long LIBlonEnCh;//字库的长度
  50. public:
  51. CreateLib();
  52. virtual ~CreateLib();
  53. int CreatChiLib(char *CodeSource,char *userdefine,char *ExCodeSource,char *outfname,long Locbase, long LocGoldeNum, long LocGoldeLen);
  54. };
  55. #endif // !defined(AFX_REATELIB_H__A93CA9E0_A363_4A5E_BC30_3C92584E2B09__INCLUDED_)