Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dkcString.h File Reference

文字列処理 More...

#include "dkcDefined.h"
#include "dkcOSIndependent.h"
#include "dkcMemoryStream.h"

Include dependency graph for dkcString.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  dkc_String

Defines

#define UCHAR_MAX_STR   "255"
#define UCHAR_MAX_STR_LEN   3
 unsigned char のMAX時の文字列の長さ(NULL文字無し)

#define USHRT_MAX_STR   "65535"
#define USHRT_MAX_STR_LEN   5
#define SHRT_MAX_STR   "32767"
 (signed) short の最大値 の文字列

#define SHRT_MAX_STR_LEN   5
#define SHRT_MIN_STR   "-32768"
 (signed) short の最小値 の文字列

#define SHRT_MIN_STR_LEN   6
#define INT_MAX_STR   "2147483647"
 (signed) int の最大値の文字列

#define INT_MAX_STR_LEN   10
#define UINT_MAX_STR   "4294967295"
 (0xffffffff) unsigned int の最大値の文字列

#define UINT_MAX_STR_LEN   10
#define INT_MIN_STR   "-2147483648"
 INT_MINの文字列.

#define INT_MIN_STR_LEN   11
#define ULONG_MAX_STR   "4294967295"
 (0xffffffff) unsigned int の最大値 の文字列

#define ULONG_MAX_STR_LEN   10
#define LONGLONG_MAX_STR   "9223372036854775807"
#define LONGLONG_MAX_STR_LEN   19
#define LONGLONG_MIN_STR   "-9223372036854775808"
#define LONGLONG_MIN_STR_LEN   20
#define ULONGLONG_MAX_STR   "18446744073709551615"
#define ULONGLONG_MAX_STR_LEN   20
#define DBL_MAX_STR   "179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000"
 doubleが最大のときの文字列

#define DBL_MAX_STR_LEN   316
 doubleが最大のときの桁数(文字列の)

#define DBL_MIN_STR   "0.000000"
 doubleが最小のときの文字列

#define DBL_MIN_STR_LEN   8
 doubleが最小のときも桁数(文字列の)

#define dkcmIsSJIS1(c)   dkcIsSJIS1(c)/*((c ^= 0x20) && (c >= (SJIS1_S1 ^ 0x20) && c <= (SJIS1_E2 ^ 0x20)))*/
 dkcIsSJIS1()

#define dkcmIsSJIS2(c)   dkcIsSJIS2(c)/*(c >= SJIS2_S1 && c <= SJIS2_E1) || (c >= SJIS2_S2 && c <= SJIS2_E2)*/
 dkcIsSJIS2()


Typedefs

typedef dkc_String DKC_STRING

Enumerations

enum  edkcString { edkcCHARString = 1, edkcWCHARString }

Functions

DKC_EXTERN BOOL dkcIsSJIS1 (BYTE c)
 cがSJISの1バイト目の時TRUE(1)

DKC_EXTERN BOOL dkcIsSJIS2 (BYTE c)
 cがSJISの2バイト目の時TRUE(1)

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearch (const char *s, char c)
 SJIS文字を除外して文字を検索 最初に見つかった位置を返す -1なら見つからない.

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchLast (const char *s, char c)
 SJIS文字を除外して文字を検索 最後に見つかった位置を返す -1なら見つからない.

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchTail (const char *s, size_t len, char c)
DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchInStr (const char *s, const char *c)
DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchInStrLast (const char *s, const char *c)
 It has not tested.

DKC_EXTERN int WINAPI dkcSJIS_SearchPathSep (const char *s)
 パスセパレータが最初に見つかった位置を返す。 -1は見つからない

DKC_EXTERN int WINAPI dkcSJIS_SearchPathSepLast (const char *s)
 パスセパレータが最期に見つかった位置を返す。 -1は見つからない

DKC_EXTERN int WINAPI dkcStrStr (const char *dest, const char *src)
DKC_EXTERN int WINAPI dkcBMStrStr (const char *dest, const char *src)
DKC_EXTERN DKC_STRING *WINAPI dkcAllocString (size_t size)
DKC_EXTERN int WINAPI dkcFreeString (DKC_STRING **ptr)
DKC_EXTERN int WINAPI dkcStringCopy (DKC_STRING *ptr, const char *str, size_t size)
DKC_EXTERN int WINAPI dkcStringConcatenate (DKC_STRING *ptr, const char *str, size_t size)
 http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=strcat+cat%82%c6%82%cd

DKC_EXTERN int WINAPI dkcStringInsert (DKC_STRING *ptr, size_t point, const char *str, size_t size)
DKC_EXTERN int WINAPI dkcStringErase (DKC_STRING *ptr, size_t point, size_t len)
DKC_EXTERN int WINAPI dkcStringReplace (DKC_STRING *ptr, size_t begin_, size_t end_, const char *str, size_t size)
DKC_EXTERN size_t dkcStringNum (const DKC_STRING *ptr)
 文字列の文字数を返す。内部streamをstrlenにかけたものを保存しておいたものを取得。

DKC_EXTERN size_t dkcStringSize (const DKC_STRING *ptr)
DKC_EXTERN const char *WINAPI dkcStringPointer (const DKC_STRING *ptr)
DKC_EXTERN int WINAPI dkcStringGetBuffer (const DKC_STRING *ptr, char *buffer, size_t buffsize)
 DKC_STRINGの内部文字列をバッファにぶち込む.

DKC_EXTERN int WINAPI dkcStringSerialize (const DKC_STRING *ptr, DKC_MEMORYSTREAM *)
 It has not tested.


Detailed Description

文字列処理

d金魚

Since:
2004/2/28
Note:
SYN氏のHPより。http://www.emit.jp/-JISの文字列の検索のコードを頂きました。 この場をお借りしてお礼申し上げます。m(_ _)m

SHIFT-JIS(以下 SJIS)

Define Documentation

#define DBL_MAX_STR   "179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000"
 

doubleが最大のときの文字列

#define DBL_MAX_STR_LEN   316
 

doubleが最大のときの桁数(文字列の)

#define DBL_MIN_STR   "0.000000"
 

doubleが最小のときの文字列

#define DBL_MIN_STR_LEN   8
 

doubleが最小のときも桁数(文字列の)

#define dkcmIsSJIS1  )     dkcIsSJIS1(c)/*((c ^= 0x20) && (c >= (SJIS1_S1 ^ 0x20) && c <= (SJIS1_E2 ^ 0x20)))*/
 

dkcIsSJIS1()

#define dkcmIsSJIS2  )     dkcIsSJIS2(c)/*(c >= SJIS2_S1 && c <= SJIS2_E1) || (c >= SJIS2_S2 && c <= SJIS2_E2)*/
 

dkcIsSJIS2()

#define INT_MAX_STR   "2147483647"
 

(signed) int の最大値の文字列

#define INT_MAX_STR_LEN   10
 

#define INT_MIN_STR   "-2147483648"
 

INT_MINの文字列.

#define INT_MIN_STR_LEN   11
 

#define LONGLONG_MAX_STR   "9223372036854775807"
 

#define LONGLONG_MAX_STR_LEN   19
 

#define LONGLONG_MIN_STR   "-9223372036854775808"
 

#define LONGLONG_MIN_STR_LEN   20
 

#define SHRT_MAX_STR   "32767"
 

(signed) short の最大値 の文字列

#define SHRT_MAX_STR_LEN   5
 

#define SHRT_MIN_STR   "-32768"
 

(signed) short の最小値 の文字列

#define SHRT_MIN_STR_LEN   6
 

#define UCHAR_MAX_STR   "255"
 

#define UCHAR_MAX_STR_LEN   3
 

unsigned char のMAX時の文字列の長さ(NULL文字無し)

#define UINT_MAX_STR   "4294967295"
 

(0xffffffff) unsigned int の最大値の文字列

#define UINT_MAX_STR_LEN   10
 

#define ULONG_MAX_STR   "4294967295"
 

(0xffffffff) unsigned int の最大値 の文字列

#define ULONG_MAX_STR_LEN   10
 

#define ULONGLONG_MAX_STR   "18446744073709551615"
 

#define ULONGLONG_MAX_STR_LEN   20
 

#define USHRT_MAX_STR   "65535"
 

#define USHRT_MAX_STR_LEN   5
 


Typedef Documentation

typedef struct dkc_String DKC_STRING
 

文字列を格納する構造体(C++のSTLのstd::stringみたいなもの)


Enumeration Type Documentation

enum edkcString
 

Enumeration values:
edkcCHARString 
edkcWCHARString 


Function Documentation

DKC_EXTERN DKC_STRING* WINAPI dkcAllocString size_t  size  ) 
 

DKC_EXTERN int WINAPI dkcBMStrStr const char *  dest,
const char *  src
 

strstrをBM法でやってみたもの

Returns:
最初に見つかった位置を返す -1なら見つからない /
Note:
It has not tested.

DKC_EXTERN int WINAPI dkcFreeString DKC_STRING **  ptr  ) 
 

DKC_EXTERN BOOL dkcIsSJIS1 BYTE  c  ) 
 

cがSJISの1バイト目の時TRUE(1)

DKC_EXTERN BOOL dkcIsSJIS2 BYTE  c  ) 
 

cがSJISの2バイト目の時TRUE(1)

DKC_EXTERN int WINAPI dkcSJIS_SearchPathSep const char *  s  ) 
 

パスセパレータが最初に見つかった位置を返す。 -1は見つからない

DKC_EXTERN int WINAPI dkcSJIS_SearchPathSepLast const char *  s  ) 
 

パスセパレータが最期に見つかった位置を返す。 -1は見つからない

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearch const char *  s,
char  c
 

SJIS文字を除外して文字を検索 最初に見つかった位置を返す -1なら見つからない.

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchInStr const char *  s,
const char *  c
 

複数の文字定数を検索指定できるdkcSJIS_StrChrSearch() /

Note:
It has not tested.

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchInStrLast const char *  s,
const char *  c
 

It has not tested.

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchLast const char *  s,
char  c
 

SJIS文字を除外して文字を検索 最後に見つかった位置を返す -1なら見つからない.

DKC_EXTERN int WINAPI dkcSJIS_StrChrSearchTail const char *  s,
size_t  len,
char  c
 

SJIS文字を除外して文字を後ろから検索

Returns:
後ろから検索して最初に見つかった位置を返す -1なら見つからない
Note:
It has not tested.

DKC_EXTERN int WINAPI dkcStringConcatenate DKC_STRING ptr,
const char *  str,
size_t  size
 

http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=strcat+cat%82%c6%82%cd

DKC_EXTERN int WINAPI dkcStringCopy DKC_STRING ptr,
const char *  str,
size_t  size
 

DKC_EXTERN int WINAPI dkcStringErase DKC_STRING ptr,
size_t  point,
size_t  len
 

Parameters:
ptr[in][out] dkcAllocString()で確保したポインタ
point[in] 何文字目以降を削除するのか
len[in] pointから何文字Eraseするか。
Returns:
edk_SUCCEEDEDなら完全成功。
edk_Not_Satisfactoryならlenが大きすぎる等の理由から一応処理は出来たが要求した結果にはならなかった。
その他はエラー
Todo:
test

DKC_EXTERN int WINAPI dkcStringGetBuffer const DKC_STRING ptr,
char *  buffer,
size_t  buffsize
 

DKC_STRINGの内部文字列をバッファにぶち込む.

DKC_EXTERN int WINAPI dkcStringInsert DKC_STRING ptr,
size_t  point,
const char *  str,
size_t  size
 

Parameters:
ptr[in][out] dkcAllocString()で確保したポインタ
point[in] 何文字目以降に挿入するのか
str[in] 挿入したい文字列
size[in] strの文字数。
Todo:
テストをする。この関数の実装は醜いので直す。

DKC_EXTERN size_t dkcStringNum const DKC_STRING ptr  ) 
 

文字列の文字数を返す。内部streamをstrlenにかけたものを保存しておいたものを取得。

DKC_EXTERN const char* WINAPI dkcStringPointer const DKC_STRING ptr  ) 
 

DKC_EXTERN int WINAPI dkcStringReplace DKC_STRING ptr,
size_t  begin_,
size_t  end_,
const char *  str,
size_t  size
 

Parameters:
ptr[in][out] dkcAllocString()で確保したポインタ
begin_[in] 何処から(何文字目から
end_[in] 何処まで(何文字目まで)注意:begin_からn byteまで とかではない。
str[in] 置換したい文字列
size[in] strの文字数。
Todo:
テストをする。この関数の実装は醜いので直す。

DKC_EXTERN int WINAPI dkcStringSerialize const DKC_STRING ptr,
DKC_MEMORYSTREAM
 

It has not tested.

DKC_EXTERN size_t dkcStringSize const DKC_STRING ptr  ) 
 

DKC_EXTERN int WINAPI dkcStrStr const char *  dest,
const char *  src
 

strstrのWrapper

Returns:
最初に見つかった位置を返す -1なら見つからない


Generated on Mon Apr 26 19:37:17 2004 for dkutil_c by doxygen 1.3.6