📄 dictcore.h
字号:
#define TRUE 1
#define FALSE 0
#define INDEX_FILE "c:\\oxford.idx"
#define DICT_FILE "c:\\oxford.dic"
#define DICT_CLOSED 0
#define TOP_INDEX_NUM 28
#define BUF_LEN 128
#define ENTRY_COMPOS_NUM 3
#define BYTE_ORDER_SYM 0xABCDCDEF
#define SAME_ENDIAN_ORDER 0
#define DIFF_ENDIAN_ORDER 1
extern int fpidx;
extern int fpdic;
// 字典头信息结构
typedef struct
{
unsigned long symbol; // 标识符
unsigned long num; // 词条个数
}DICT_HEADER;
// 字典数据结构
typedef struct
{
DICT_HEADER header; // 字典头信息
unsigned long open_num; // 字典引用计数
unsigned long alpha_tbl; // 一级索引表首地址
unsigned long entry_tbl; // 二级索引表首地址
}DICT;
// 一级索引数据结构
typedef struct
{
unsigned long begin; // 区块在索引文件中的起始地址
unsigned long end; // 区块在索引文件中的结束地址
}ALPHABET_IDX;
// 二级索引数据结构
typedef struct
{
unsigned long begin; // 词条在字典文件中的起始地址
}ENTRY_IDX;
typedef struct
{
char * phrase; // 词条名称
unsigned long index; // 词条在字典文件中的起始地址
}ENTRY;
// 词条组成
enum entry_composition
{
WORD_PHRASE = 0x01, // 单词或短语的拼写
PRONUNCE = 0x02, // 单词的发音
PARAPHRASE = 0x04, // 单词或短语的释义
ENTRY_ALL = 0x07, // 词条全部内容
};
extern long InitDictCore(void);
extern long ExitDictCore(void);
extern long SearchEntry(char * buffer);
//extern long BinarySearch(unsigned long begin, unsigned long end, long *index, char *buffer);
//extern long CompareEntry(unsigned long offset, char *buffer);
//extern __inline int CompareVocab(char *s1, char *s2);
extern long GetEntryList(ENTRY *list, long index, unsigned long len);
//extern unsigned int ArchSwap32(unsigned int D) ;
//extern unsigned short ArchSwap16(unsigned short D) ;
extern char *GetEntryInfo(long index, unsigned long mode);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -