20#pragma comment(user,"T-Coverage Disable")
55 static const TYP*
FindCr(
const TYP* lpsz)
61 if ( *lpsz == 0x0D || *lpsz == 0x0A )
92 INT_PTR iLen = P - lpsz;
119 if ( lpszCR == NULL )
124 loop ( i, vs.GetSize() )
175 if ( isCheckDc && lpsz[0] ==
'\"' )
182 bool isEnd = (lpsz[r + 1] == 0);
232 TYP bb[2] = { mark, 0 };
249 const BYTE& b = c.
At(i);
285 if ( c ==
'_' || c ==
' ' || c ==
'\t' || c ==
'\n' || c ==
'\r' || c ==
'-' )
294 vb.
Add(
static_cast<BYTE
>(r));
299 INDEX startIndex = 0;
301 if ( (size & 1) != 0 )
306 for ( INDEX i = startIndex; i < size; i += 2 )
308 vbr.
Add(
static_cast<BYTE
>((vb[i] << 4) | vb[i + 1]));
327 INT_PTR iTabPosition = strWork.
Find(
'\t');
328 if ( iTabPosition < 0)
333 strWork.
Left(iTabPosition)
335 + &(strWork.operator
const TYP*()[iTabPosition + 1]);
341 friend class CStrOperatorTest;
383#pragma comment(user,"T-Coverage Enable")
#define loop(VAR, CNT)
loop構文.
virtual INDEX Add(const TYP &t)
[追加] 要素一つ追加.
static const TYP * FindCr(const TYP *lpsz)
[検索] 改行位置検索.
static CStrT< TYP > BinaryToHexString(size_t dataSize, LPCVOID P)
[作成] バイナリ→HEX文字列
static CStrT< TYP > ConnectLines(const CVectorT< CStrT< TYP > > &vs, const TYP *lpszCR=NULL)
[取得] 各行連結
static CStrT< TYP > BinaryToHexString(const IConstCollectionT< BYTE > &c)
[作成] バイナリ→HEX文字列
static const TYP * GetLine(CStrT< TYP > &_strLine, const TYP *lpsz)
[取得] 一行取り出し
static CByteVector HexStringToBinary(const TYP *lpszHex)
[作成] HEX文字列→バイナリ
static CVectorT< CStrT< TYP > > SeparatePeriod(const TYP *lpsz, const TYP *lpszMark, bool isCheckDc=true)
[取得] トークン区切取得
static CVectorT< CStrT< TYP > > SeparatePeriod(const TYP *lpsz, TYP mark, bool isCheckDc=true)
[取得] トークン区切取得
static CVectorT< CStrT< TYP > > SeparateLine(const TYP *lpsz)
[取得] 改行毎分離
static CStrT< TYP > TabToSpace(const TYP *lpsz, int iTabStep=4)
タブコードをスペースに変換します。 改行は含まないようにしてください。
CStrT Left(size_t iSize) const
[作成] 範囲取得.
void ReleaseBuffer(void)
[操作] 割り当てたバッファを開放.
INT_PTR Find(TYP t, INDEX iFromIndex=0) const
[確認] 検索.
CStrT & SetFromLeft(const TYP *lpText, size_t iLen)
[代入] 文字数制限代入.
static CStrT Lineup(TYP t, size_t length)
[作成] 指定文字を並べた文字列作成
TYP * GetBuffer(size_t iLength=0)
[操作] 書き込みバッファ要求.
virtual size_t GetSize(void) const
[取得] サイズ取得
virtual INDEX Add(const TYP &t)
[追加] 要素一つ追加.
int GetCharSize(char c)
[取得] 文字のサイズ(ASCII/SJIS用)
INT_PTR IndexOf(LPCSTR lpszText, char c, INDEX iFromIndex=0)
[検索] 文字検索(ASCII/SJIS用)
char IntToHexChar(int c)
[変換] 数値HEX文字変換
int HexCharToInt(int c)
[変換] HEX文字数値変換
INT_PTR IndexOneOf(LPCSTR lpszText, LPCSTR lpszMark, INDEX iFromIndex=0)
[検索] 文字セット検索(ASCII/SJIS用)
CStrOperatorT< WCHAR > CUnicodeOperator
簡易文字列操作関数群(UNICODE)
CStrOperatorT< char > CAsciiOperator
簡易文字列操作関数群(ASCII/SJIS)
CStrOperatorT< TCHAR > CStrOperator
簡易文字列操作関数群
virtual size_t Copy(const IConstCollectionT< TYP > &c)
[設定] コピー.
bool IsEmpty(void) const
[確認] 要素の有無確認.
virtual const TYP & At(INDEX index) const =0
[取得] 要素の参照取得.
virtual size_t GetSize(void) const =0
[取得] 要素数取得.