51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
#ifndef _MBCSDEF_H_
|
||
#define _MBCSDEF_H_
|
||
|
||
#define MBCSARRAY_SIZE 255
|
||
|
||
typedef struct tagFT_mbcs_char
|
||
{
|
||
char boWordEnd; //到此字符是否构成一个完整的屏蔽词
|
||
char btReserve[3]; //保留
|
||
struct tagFT_mbcs_char* pNextChars[MBCSARRAY_SIZE]; //当前字符的后续字符表,访问索引为字符值-1
|
||
}FT_MBCS_CHAR, *PFT_MBCS_CHAR;
|
||
|
||
#ifdef __cplusplus
|
||
extern "C"
|
||
{
|
||
#endif
|
||
|
||
#ifndef STDCALL
|
||
#if (defined(WIN32) || defined(WINDOWS))
|
||
#define STDCALL __stdcall
|
||
#else
|
||
#define STDCALL
|
||
#endif
|
||
#endif
|
||
|
||
/*
|
||
创建一个MBCS屏蔽词表
|
||
*/
|
||
PFT_MBCS_CHAR STDCALL CreateMBCSFilter(void* lpReserved);
|
||
/*
|
||
销毁一个MBCS屏蔽词表,释放表使用的所有内存
|
||
*/
|
||
void STDCALL FreeMBCSFilter(PFT_MBCS_CHAR lpFilter);
|
||
/*
|
||
统计屏蔽词表使用的内存量
|
||
*/
|
||
size_t STDCALL MemoryUsageOfMBCSFilter(const PFT_MBCS_CHAR lpFilter);
|
||
//
|
||
int STDCALL LoadMBCSFilterWords(PFT_MBCS_CHAR lpFilter, const char *sFileName);
|
||
int STDCALL SaveMBCSFilterWords(PFT_MBCS_CHAR lpFilter, const char *sFileName);
|
||
char* STDCALL MatchMBCSFilterWord(const PFT_MBCS_CHAR lpFilter, const char *sInput, int *pMatchLen);
|
||
//把一个字符串加入到屏蔽词表中
|
||
int STDCALL AddMBCSFilterStrToTable(PFT_MBCS_CHAR lpFilter,const char* pStrFilter);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|
||
|