⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cjkctype.h

📁 This software performs code conversion of Chinese characters, including GB2312/GBK and BIG5. It a
💻 H
字号:
// cjkctype.h

#ifndef CJKCTYPE_H
#define CJKCTYPE_H


#ifdef __cplusplus
extern "C" {
#endif


int ismbblead_cp ( int c, int codepage ) ;
int ismbbtrail_cp ( int c, int codepage ) ;
int ismbbkana_cp ( int c, int codepage ) ;
int ismbbsurrogate_cp ( int c, int codepage ) ;
int ismbcp ( int codepage ) ;

size_t mbslcpy_cp ( char *dst, const char *src, size_t bufsiz, int codepage ) ;
size_t mbslcat_cp ( char *dst, const char *src, size_t bufsiz, int codepage ) ;

int mbsicmp_cp ( const char *string1, const char *string2, int codepage ) ;
int mbsnicmp_cp ( const char *string1, const char *string2, size_t count, int codepage ) ;

int mbsrcmp_cp ( const char *string1, const char *string2, int codepage ) ;
int mbsricmp_cp ( const char *string1, const char *string2, int codepage ) ;
int mbsrncmp_cp ( const char *string1, const char *string2, size_t count, int codepage ) ;
int mbsrnicmp_cp ( const char *string1, const char *string2, size_t count, int codepage ) ;

int mbsheadicmp_cp ( const char *string, const char *head, int codepage ) ;
int mbstailcmp_cp ( const char *string, const char *tail, int codepage ) ;
int mbstailicmp_cp ( const char *string, const char *tail, int codepage ) ;

char *mbsstr_cp ( const char *string1, const char *string2, int codepage ) ;
char *mbsstri_cp ( const char *string1, const char *string2, int codepage ) ;
char *mbsrstr_cp ( const char *string1, const char *string2, int codepage ) ;
char *mbsrstri_cp ( const char *string1, const char *string2, int codepage ) ;

char *mbschr_cp ( const char *string, int c, int codepage ) ;
char *mbschri_cp ( const char *string, int c, int codepage ) ;
char *mbsrchr_cp ( const char *string, int c, int codepage ) ;
char *mbsrchri_cp ( const char *string, int c, int codepage ) ;

size_t mbsspn_cp ( const char *string1, const char *string2, int codepage ) ;
size_t mbscspn_cp ( const char *string1, const char *string2, int codepage ) ;

char *mbsspnp_cp ( const char *string1, const char *string2, int codepage ) ;
char *mbspbrk_cp ( const char *string1, const char *string2, int codepage ) ;

char *mbslwr_cp ( char *string, int codepage ) ;
char *mbsupr_cp ( char *string, int codepage ) ;

char *mbsrev_cp ( char *string, int codepage ) ;

char *mbstrunc_cp ( char *string, size_t length, int codepage ) ;

size_t mbslen_cp ( const char *string, int codepage ) ;

wchar_t *a2wdup_cp ( const char *string, int codepage ) ;
wchar_t *a2wduplen_cp ( const char *string, int srclen, int *p_dstlen, int codepage ) ;
char *w2adup_cp ( const wchar_t *string, int codepage ) ;
char *w2aduplen_cp ( const wchar_t *string, int srclen, int *p_dstlen, int codepage ) ;

char *mbsldup_cp ( const char *string, size_t bufsiz, int codepage ) ;

int mbsbtype_cp ( const char *string, size_t count, int codepage ) ;
int ismbslead_cp ( const char *string, const char *current, int codepage ) ;
int ismbstrail_cp ( const char *string, const char *current, int codepage ) ;

int jmstojis ( int c ) ;
int jistojms ( int c ) ;


#define ismbblead_sjis(c)     ismbblead_cp ( c, CP_JAPANESE )
#define ismbblead_gb(c)       ismbblead_cp ( c, CP_CHINESE_SIMPLIFIED )
#define ismbblead_big5(c)     ismbblead_cp ( c, CP_CHINESE_TRADITIONAL )
#define ismbblead_ks(c)       ismbblead_cp ( c, CP_KOREAN )
#define ismbblead_johab(c)    ismbblead_cp ( c, CP_KOREAN_JOHAB )

#define ismbbtrail_sjis(c)    ismbbtrail_cp ( c, CP_JAPANESE )
#define ismbbtrail_gb(c)      ismbbtrail_cp ( c, CP_CHINESE_SIMPLIFIED )
#define ismbbtrail_big5(c)    ismbbtrail_cp ( c, CP_CHINESE_TRADITIONAL )
#define ismbbtrail_ks(c)      ismbbtrail_cp ( c, CP_KOREAN )
#define ismbbtrail_johab(c)   ismbbtrail_cp ( c, CP_KOREAN_JOHAB )

#define ismbbkana_sjis(c)     ismbbkana_cp ( c, CP_JAPANESE )
#define ismbbsurrogate_gbx(c) ismbbsurrogate_cp ( c, CP_CHINESE_SIMPLIFIED_EX )


#ifdef __cplusplus
}
#endif



#if defined DEBUG_CONST_STRING && defined __cplusplus    // for debug

#define FUNC_STR_STR(func) \
   static inline const char *func##_ ( const char *s1, const char *s2, int cp ) { return func ( s1, s2, cp ) ; } \
   static inline       char *func##_ (       char *s1, const char *s2, int cp ) { return func ( s1, s2, cp ) ; }

#define FUNC_STR_INT(func) \
   static inline const char *func##_ ( const char *s, int c, int cp ) { return func ( s, c, cp ) ; } \
   static inline       char *func##_ (       char *s, int c, int cp ) { return func ( s, c, cp ) ; }

FUNC_STR_STR ( mbsstr_cp )
FUNC_STR_STR ( mbsstri_cp )
FUNC_STR_STR ( mbsrstr_cp )
FUNC_STR_STR ( mbsrstri_cp )

FUNC_STR_INT ( mbschr_cp )
FUNC_STR_INT ( mbschri_cp )
FUNC_STR_INT ( mbsrchr_cp )
FUNC_STR_INT ( mbsrchri_cp )

FUNC_STR_STR ( mbsspnp_cp )
FUNC_STR_STR ( mbspbrk_cp )

#undef FUNC_STR_STR
#undef FUNC_STR_INT

#define mbsstr_cp mbsstr_cp_
#define mbsstri_cp mbsstri_cp_
#define mbsrstr_cp mbsrstr_cp_
#define mbsrstri_cp mbsrstri_cp_

#define mbschr_cp mbschr_cp_
#define mbschri_cp mbschri_cp_
#define mbsrchr_cp mbsrchr_cp_
#define mbsrchri_cp mbsrchri_cp_

#define mbspbrk_cp mbspbrk_cp_

#endif // defined DEBUG_CONST_STRING && defined __cplusplus



#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -