|
|
| version 1.5, 2004/02/19 11:32:11 | version 1.7, 2004/06/19 17:28:29 |
|---|---|
| Line 1 | Line 1 |
| #define SUPPORT_ANK | |
| #define SUPPORT_SJIS | |
| #define SUPPORT_EUC | |
| #ifdef __cplusplus | #ifdef __cplusplus |
| extern "C" { | extern "C" { |
| #endif | #endif |
| // 1文字分のサイズを取得 | |
| int milank_charsize(const char *str); | |
| int milsjis_charsize(const char *str); | |
| int mileuc_charsize(const char *str); | |
| int milutf8_charsize(const char *str); | |
| // 大文字小文字を同一視して比較 | // 大文字小文字を同一視して比較 |
| // ret 0:一致 | // ret 0:一致 |
| int milank_cmp(const char *str, const char *cmp); | int milank_cmp(const char *str, const char *cmp); |
| int milsjis_cmp(const char *str, const char *cmp); | int milsjis_cmp(const char *str, const char *cmp); |
| int mileuc_cmp(const char *str, const char *cmp); | int mileuc_cmp(const char *str, const char *cmp); |
| int milutf8_cmp(const char *str, const char *cmp); | |
| // 大文字小文字を 同一視してcmpのヌルまで比較 | // 大文字小文字を 同一視してcmpのヌルまで比較 |
| // ret 0:一致 | // ret 0:一致 |
| int milank_memcmp(const char *str, const char *cmp); | int milank_memcmp(const char *str, const char *cmp); |
| int milsjis_memcmp(const char *str, const char *cmp); | int milsjis_memcmp(const char *str, const char *cmp); |
| int mileuc_memcmp(const char *str, const char *cmp); | int mileuc_memcmp(const char *str, const char *cmp); |
| int milutf8_memcmp(const char *str, const char *cmp); | |
| // str[pos]が漢字1バイト目かどうか… | // str[pos]が漢字1バイト目かどうか… |
| int milsjis_kanji1st(const char *str, int pos); | int milsjis_kanji1st(const char *str, int pos); |
| int mileuc_kanji1st(const char *str, int pos); | int mileuc_kanji1st(const char *str, int pos); |
| int milutf8_kanji1st(const char *str, int pos); | |
| // str[pos]が漢字2バイト目かどうか… | // str[pos]が漢字2バイト目かどうか… |
| int milsjis_kanji2nd(const char *str, int pos); | int milsjis_kanji2nd(const char *str, int pos); |
| int mileuc_kanji2nd(const char *str, int pos); | int mileuc_kanji2nd(const char *str, int pos); |
| int milutf8_kanji2nd(const char *str, int pos); | |
| // maxlen分だけ文字列をコピー | // maxlen分だけ文字列をコピー |
| void milank_ncpy(char *dst, const char *src, int maxlen); | void milank_ncpy(char *dst, const char *src, int maxlen); |
| void milsjis_ncpy(char *dst, const char *src, int maxlen); | void milsjis_ncpy(char *dst, const char *src, int maxlen); |
| void mileuc_ncpy(char *dst, const char *src, int maxlen); | void mileuc_ncpy(char *dst, const char *src, int maxlen); |
| void milutf8_ncpy(char *dst, const char *src, int maxlen); | |
| // maxlen分だけ文字列をキャット | // maxlen分だけ文字列をキャット |
| void milank_ncat(char *dst, const char *src, int maxlen); | void milank_ncat(char *dst, const char *src, int maxlen); |
| void milsjis_ncat(char *dst, const char *src, int maxlen); | void milsjis_ncat(char *dst, const char *src, int maxlen); |
| void mileuc_ncat(char *dst, const char *src, int maxlen); | void mileuc_ncat(char *dst, const char *src, int maxlen); |
| void milutf8_ncat(char *dst, const char *src, int maxlen); | |
| // 文字を検索 | // 文字を検索 |
| char *milank_chr(const char *str, int c); | char *milank_chr(const char *str, int c); |
| char *milsjis_chr(const char *str, int c); | char *milsjis_chr(const char *str, int c); |
| char *mileuc_chr(const char *str, int c); | char *mileuc_chr(const char *str, int c); |
| char *milutf8_chr(const char *str, int c); | |
| // 0~9, A~Z のみを大文字小文字を同一視して比較 | // 0~9, A~Z のみを大文字小文字を同一視して比較 |
| Line 72 char *milstr_list(const char *lststr, UI | Line 80 char *milstr_list(const char *lststr, UI |
| #if defined(OSLANG_SJIS) | #if defined(OSLANG_SJIS) |
| #define ISKANJI1ST(c) ((((c ^ 0x20) - 0xa1) & 0xff) < 0x3c) | #define ISKANJI1ST(c) ((((c ^ 0x20) - 0xa1) & 0xff) < 0x3c) |
| #define milstr_charsize(s) milsjis_charsize(s) | |
| #define milstr_cmp(s, c) milsjis_cmp(s, c) | #define milstr_cmp(s, c) milsjis_cmp(s, c) |
| #define milstr_memcmp(s, c) milsjis_memcmp(s, c) | #define milstr_memcmp(s, c) milsjis_memcmp(s, c) |
| #define milstr_kanji1st(s, p) milsjis_kanji1st(s, p) | #define milstr_kanji1st(s, p) milsjis_kanji1st(s, p) |
| Line 81 char *milstr_list(const char *lststr, UI | Line 90 char *milstr_list(const char *lststr, UI |
| #define milstr_chr(s, c) milsjis_chr(s, c) | #define milstr_chr(s, c) milsjis_chr(s, c) |
| #elif defined(OSLANG_EUC) | #elif defined(OSLANG_EUC) |
| #define ISKANJI1ST(c) (((c - 0xa1) & 0xff) < 0x5d) | #define ISKANJI1ST(c) (((c - 0xa1) & 0xff) < 0x5d) |
| #define milstr_charsize(s) mileuc_charsize(s) | |
| #define milstr_cmp(s, c) mileuc_cmp(s, c) | #define milstr_cmp(s, c) mileuc_cmp(s, c) |
| #define milstr_memcmp(s, c) mileuc_memcmp(s, c) | #define milstr_memcmp(s, c) mileuc_memcmp(s, c) |
| #define milstr_kanji1st(s, p) mileuc_kanji1st(s, p) | #define milstr_kanji1st(s, p) mileuc_kanji1st(s, p) |
| Line 88 char *milstr_list(const char *lststr, UI | Line 98 char *milstr_list(const char *lststr, UI |
| #define milstr_ncpy(d, s, l) mileuc_ncpy(d, s, l) | #define milstr_ncpy(d, s, l) mileuc_ncpy(d, s, l) |
| #define milstr_ncat(d, s, l) mileuc_ncat(d, s, l) | #define milstr_ncat(d, s, l) mileuc_ncat(d, s, l) |
| #define milstr_chr(s, c) mileuc_chr(s, c) | #define milstr_chr(s, c) mileuc_chr(s, c) |
| #elif defined(OSLANG_UTF8) | |
| #define milstr_charsize(s) milutf8_charsize(s) | |
| #define milstr_cmp(s, c) milutf8_cmp(s, c) | |
| #define milstr_memcmp(s, c) milutf8_memcmp(s, c) | |
| #define milstr_kanji1st(s, p) milutf8_kanji1st(s, p) | |
| #define milstr_kanji2nd(s, p) milutf8_kanji2nd(s, p) | |
| #define milstr_ncpy(d, s, l) milutf8_ncpy(d, s, l) | |
| #define milstr_ncat(d, s, l) milutf8_ncat(d, s, l) | |
| #define milstr_chr(s, c) milutf8_chr(s, c) | |
| #else | #else |
| #define ISKANJI1ST(c) (0) | #define ISKANJI1ST(c) (0) |
| #define milstr_charsize(s) milank_charsize(s) | |
| #define milstr_cmp(s, c) milank_cmp(s, c) | #define milstr_cmp(s, c) milank_cmp(s, c) |
| #define milstr_memcmp(s, c) milank_memcmp(s, c) | #define milstr_memcmp(s, c) milank_memcmp(s, c) |
| #define milstr_kanji1st(s, p) (0) | #define milstr_kanji1st(s, p) (0) |