--- np2/common/milstr.h 2004/02/18 02:03:36 1.4 +++ np2/common/milstr.h 2004/05/14 11:08:52 1.6 @@ -1,8 +1,9 @@ +#if (!defined(SUPPORT_ANK)) && (!defined(SUPPORT_SJIS)) && (!defined(SUPPORT_EUC)) #define SUPPORT_ANK #define SUPPORT_SJIS #define SUPPORT_EUC - +#endif #ifdef __cplusplus extern "C" { @@ -38,11 +39,19 @@ void milank_ncat(char *dst, const char * void milsjis_ncat(char *dst, const char *src, int maxlen); void mileuc_ncat(char *dst, const char *src, int maxlen); +// 文字を検索 +char *milank_chr(const char *str, int c); +char *milsjis_chr(const char *str, int c); +char *mileuc_chr(const char *str, int c); + // 0~9, A~Z のみを大文字小文字を同一視して比較 // ret 0:一致 int milstr_extendcmp(const char *str, const char *cmp); +// 次の語を取得 +char *milstr_nextword(const char *str); + // 文字列からARGの取得 int milstr_getarg(char *str, char *arg[], int maxarg); @@ -53,7 +62,7 @@ long milstr_solveHEX(const char *str); long milstr_solveINT(const char *str); // STRLIST -const char *milstr_list(const char *lststr, UINT pos); +char *milstr_list(const char *lststr, UINT pos); #ifdef __cplusplus } @@ -70,6 +79,7 @@ const char *milstr_list(const char *lsts #define milstr_kanji2nd(s, p) milsjis_kanji2nd(s, p) #define milstr_ncpy(d, s, l) milsjis_ncpy(d, s, l) #define milstr_ncat(d, s, l) milsjis_ncat(d, s, l) +#define milstr_chr(s, c) milsjis_chr(s, c) #elif defined(OSLANG_EUC) #define ISKANJI1ST(c) (((c - 0xa1) & 0xff) < 0x5d) #define milstr_cmp(s, c) mileuc_cmp(s, c) @@ -78,6 +88,7 @@ const char *milstr_list(const char *lsts #define milstr_kanji2nd(s, p) mileuc_kanji2nd(s, p) #define milstr_ncpy(d, s, l) mileuc_ncpy(d, s, l) #define milstr_ncat(d, s, l) mileuc_ncat(d, s, l) +#define milstr_chr(s, c) mileuc_chr(s, c) #else #define ISKANJI1ST(c) (0) #define milstr_cmp(s, c) milank_cmp(s, c) @@ -86,5 +97,6 @@ const char *milstr_list(const char *lsts #define milstr_kanji2nd(s, p) (0) #define milstr_ncpy(d, s, l) milank_ncpy(d, s, l) #define milstr_ncat(d, s, l) milank_ncat(d, s, l) +#define milstr_chr(s, c) milank_chr(s, c) #endif