メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcString.h

説明を見る。

    00001
    00012 #ifndef DKUTIL_C_STRING_H
    00013 #define DKUTIL_C_STRING_H
    00014
    00015
    00016 #include "dkcOSIndependent.h"
    00017 #include "dkcMemoryStream.h"
    00018
    00019
    00020
    00021
    00022 #define UCHAR_MAX_STR "255"
    00023
    00024 #define UCHAR_MAX_STR_LEN 3
    00025
    00026
    00027 #define USHRT_MAX_STR "65535"
    00028
    00029 #define USHRT_MAX_STR_LEN 5
    00030
    00032 #define SHRT_MAX_STR "32767"
    00033
    00034 #define SHRT_MAX_STR_LEN 5
    00035
    00037 #define SHRT_MIN_STR "-32768"
    00038
    00039 #define SHRT_MIN_STR_LEN 6
    00040
    00042 #define INT_MAX_STR "2147483647"
    00043
    00044 #define INT_MAX_STR_LEN 10
    00045
    00047 #define UINT_MAX_STR "4294967295"
    00048
    00049 #define UINT_MAX_STR_LEN 10
    00050
    00052 #define INT_MIN_STR "-2147483648"
    00053
    00054
    00055 #define INT_MIN_STR_LEN 11
    00056
    00058 #define ULONG_MAX_STR "4294967295"
    00059
    00060 #define ULONG_MAX_STR_LEN 10
    00061
    00062 #define LONGLONG_MAX_STR "9223372036854775807"
    00063
    00064 #define LONGLONG_MAX_STR_LEN 19
    00065
    00066 #define LONGLONG_MIN_STR "-9223372036854775808"
    00067
    00068 #define LONGLONG_MIN_STR_LEN 20
    00069
    00070 #define ULONGLONG_MAX_STR "18446744073709551615"
    00071
    00072 #define ULONGLONG_MAX_STR_LEN 20
    00073
    00075 #define DBL_MAX_STR "179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000"
    00076
    00077 #define DBL_MAX_STR_LEN 316
    00078
    00080 #define DBL_MIN_STR "0.000000"
    00081
    00082 #define DBL_MIN_STR_LEN 8
    00083
    00084 /*
    00085 extern const BYTE SJIS1_S1 ;
    00086 extern const BYTE SJIS1_E1 ;
    00087 extern const BYTE SJIS1_S2 ;
    00088 extern const BYTE SJIS1_E2 ;
    00089
    00090 // SJIS文字の２バイト目のコード
    00091 extern const BYTE SJIS2_S1 ;
    00092 extern const BYTE SJIS2_E1 ;
    00093 extern const BYTE SJIS2_S2 ;
    00094 extern const BYTE SJIS2_E2 ;
    00095 */
    00097 #define dkcmIsSJIS1(c) dkcIsSJIS1(c)/*((c ^= 0x20) && (c >= (SJIS1_S1 ^ 0x20) && c <= (SJIS1_E2 ^ 0x20)))*/
    00098
    00099 #define dkcmIsSJIS2(c) dkcIsSJIS2(c)/*(c >= SJIS2_S1 && c <= SJIS2_E1) || (c >= SJIS2_S2 && c <= SJIS2_E2)*/
    00100
    00101
    00102 enum edkcString{
    00103     edkcCHARString = 1,
    00104     edkcWCHARString,
    00105 };
    00109 typedef struct dkc_String{
    00110     DKC_MEMORYSTREAM *mStream;
    00112     size_t mByteSize;
    00113 }DKC_STRING;
    00114
    00115
    00117 DKC_EXTERN BOOL dkcIsSJIS1(BYTE c);
    00119 DKC_EXTERN BOOL dkcIsSJIS2(BYTE c);
    00121 DKC_EXTERN BOOL dkcIsSpace(BYTE c);
    00123 //DKC_EXTERN BOOL dkcIsVisible
    00124 //DKC_EXTERN const char *dkcGetSpaceSeparator();
    00125
    00126
    00127
    00129 DKC_EXTERN int WINAPI dkcSJIS_StrChrSearch(const char *s, char c);
    00130
    00132 DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchLast(const char *s, char c);
    00133
    00139 DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchTail(const char *s,size_t len,char c);
    00140
    00144
    00145 DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchInStr(const char *s,const char *c);
    00147 DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchInStrLast(const char *s, const char *c);
    00149 DKC_EXTERN int WINAPI dkcSJIS_SearchPathSep(const char *s);
    00151 DKC_EXTERN int WINAPI dkcSJIS_SearchPathSepLast(const char *s);
    00152
    00156 DKC_EXTERN int WINAPI dkcStrStr(const char *dest,const char *src);
    00161
    00162 DKC_EXTERN int WINAPI dkcBMStrStr(const char *dest,const char *src);
    00163
    00164
    00165 //**********************************************************
    00166 //文字列格納ライブラリ（STLのstd::stringみたいな〜
    00167
    00168
    00169 DKC_EXTERN DKC_STRING * WINAPI dkcAllocString(size_t size);
    00170
    00171 DKC_EXTERN int WINAPI dkcFreeString(DKC_STRING **ptr);
    00172
    00173 DKC_EXTERN int WINAPI dkcStringCopy(DKC_STRING *ptr,const char *str,size_t size);
    00175 DKC_EXTERN int WINAPI dkcStringConcatenate(DKC_STRING *ptr,const char *str,size_t size);
    00183 DKC_EXTERN int WINAPI dkcStringInsert(DKC_STRING *ptr,size_t point,const char *str,size_t size);
    00193 DKC_EXTERN int WINAPI dkcStringErase(DKC_STRING *ptr,size_t point,size_t len);
    00202 DKC_EXTERN int WINAPI dkcStringReplace(DKC_STRING *ptr,size_t begin_,size_t end_,const char *str,size_t size);
    00203
    00204
    00205
    00207 DKC_EXTERN size_t dkcStringNum(const DKC_STRING *ptr);
    00208
    00209 DKC_EXTERN size_t dkcStringSize(const DKC_STRING *ptr);
    00210
    00211
    00212 DKC_EXTERN const char * WINAPI dkcStringPointer(const DKC_STRING *ptr);
    00213
    00215 DKC_EXTERN int WINAPI dkcStringGetBuffer(const DKC_STRING *ptr,char *buffer,size_t buffsize);
    00216
    00217 #if 0
    00218
    00219 DKC_EXTERN int WINAPI dkcStringSerialize(const DKC_STRING *ptr,DKC_SERIALIZE *);
    00221 DKC_EXTERN DKC_STRING* WINAPI dkcAllocStringDeserialize(DKC_DESERIALIZE *se);
    00222 #endif
    00223
    00224
    00225 #endif