メインページ   名前空間一覧   クラス階層   アルファベット順一覧   構成   ファイル一覧   名前空間メンバ   構成メンバ   ファイルメンバ  

クラス KSCL::CWinShiftJisStringUtil の解説

・ウィンドウズ用文字列操作クラス。. より詳しく...

すべてのメンバ一覧

公開型

typedef CWinShiftJisChars type_Chars
 文字タイプの型定義。. より詳しく...

typedef type_Chars::type_string type_string
 文字列型の型定義。. より詳しく...

typedef type_Chars::type_string_vector type_string_vector
 文字列配列の型定義。. より詳しく...

enum  RETURN_VALUE { E_NOT_FOUND = -1 }
 ・戻り値として使う定数。. より詳しく...

enum  PARAMETER_VALUE { E_DIGIT_NUM_USE_NO = -1 }
 ・パラメーターとして使う定数。. より詳しく...


公開メンバ

 CWinShiftJisStringUtil ()
 ・コンストラクタ。. より詳しく...

virtual ~CWinShiftJisStringUtil ()
 ・デストラクタ。. より詳しく...

virtual type_Chars::MBC_CHAR_TYPE GetCharType (const type_string &p_rcTargetStr, const int p_iKeyCharPos) const
 ・文字種を取得します。. より詳しく...

virtual int FindFirstChar (const type_string &p_rcTargetStr, const char p_iKeyChar) const
 ・単語を探します。. より詳しく...

virtual int FindLastChar (const type_string &p_rcTargetStr, const char p_iKeyChar) const
 ・単語を探します。複数見つかった場合には一番最後の場所を返します。. より詳しく...

virtual bool IsMatchChar (const type_string &p_rcTargetStr, const char p_chKeyChar, const int p_iIndex) const
 ・文字が一致してるかどうか調べます。. より詳しく...

virtual bool IsMatchFirstChar (const type_string &p_rcTargetStr, const char p_chKeyChar) const
 ・一番最初の文字が一致してるかどうか調べます。. より詳しく...

virtual bool IsMatchLastChar (const type_string &p_rcTargetStr, const char p_chKeyChar) const
 ・一番最後の文字が一致してるかどうか調べます。. より詳しく...

virtual type_string EraceAllChar (const type_string &p_rcSourceStr, const char p_chKey) const
 ・特定の文字を削除します。. より詳しく...

virtual int CountChar (const type_string &p_rcTargetStr, const char p_chKey) const
 ・特定の文字がいくつ入っているか調べます。. より詳しく...

virtual type_string GetFileInPath (const type_string &p_rcSourcePathStr) const
 ・ファイルパスからファイル名だけを取り出します。. より詳しく...

virtual type_string GetExtentionInPath (const type_string &p_rcSourcePathStr) const
 ・ファイルパスから拡張子だけを取り出します。. より詳しく...

virtual type_string GetFolderPathInPath (const type_string &p_rcSourcePathStr) const
 ・ファイルパスからフォルダパスだけを取り出します。. より詳しく...

virtual type_string GetNoExtentionPath (const type_string &p_rcSourcePathStr) const
 ・ファイルパスから拡張子を削ります。. より詳しく...

virtual type_string EraseLastPathSeparator (const type_string &p_rcSourceStr) const
 ・文字列の最後に付いている を削除します。. より詳しく...

virtual type_string AddLastPathSeparator (const type_string &p_rcSourceStr) const
 ・文字列の最後に を追加します。. より詳しく...

virtual type_string AddFileNameToPath (const type_string &p_rcPathStr, const type_string &p_rcFileNameStr) const
 ・フォルダパスとファイルをくっつけます。. より詳しく...

virtual bool IsMatchString (const type_string &p_rcSourceStr, const type_string &p_rcKeyStr, const int p_iIndex) const
 ・ある位置の文字列が一致するかチェックします。. より詳しく...

virtual int FindFirstString (const type_string &p_rcSourceStr, const type_string &p_rcKeyStr) const
 ・文字列を検索します。. より詳しく...

virtual int FindFirstString (const type_string &p_rcSourceStr, const int p_iPos, const type_string &p_rcKeyStr) const
 ・文字列を検索します。. より詳しく...

virtual int FindLastString (const type_string &p_rcSourceStr, const type_string &p_rcKeyStr) const
 ・最後にある文字列を検索します。. より詳しく...

virtual bool IsMatchFirstString (const type_string &p_rcTargetStr, const type_string &p_rcKeyStr) const
 ・一番最初の文字列が一致してるかどうか調べます。. より詳しく...

virtual bool IsMatchLastString (const type_string &p_rcTargetStr, const type_string &p_rcKeyStr) const
 ・一番最後の文字列が一致してるかどうか調べます。. より詳しく...

virtual type_string CutFirstChars (const type_string &p_rcSourceStr, const int p_iCuttingSize) const
 ・頭の数文字を削除します。. より詳しく...

virtual type_string CutLastChars (const type_string &p_rcSourceStr, const int p_iCuttingSize) const
 ・後ろの数文字を削除します。. より詳しく...

virtual type_string EraceFirstChars (const type_string &p_rcSourceStr, const char p_chKey) const
 ・頭にある数文字を削除します。. より詳しく...

virtual type_string EraceLastChars (const type_string &p_rcSourceStr, const char p_chKey) const
 ・うしろにある数文字を削除します。. より詳しく...

virtual type_string SeparateString (const type_string &p_rcSourceStr, const int p_iByte) const
 マルチバイト文字に対して、あるサイズで切り出します。. より詳しく...

virtual void SeparateString (const type_string &p_rcSourceStr, const int p_iByte, type_string &p_rcRetFirstStr, type_string &p_rcRetLastStr) const
 マルチバイト文字に対して、あるサイズで切り出します。. より詳しく...

virtual type_string ReplaceString (const type_string &p_rcSourceStr, const type_string &p_rcKeyStr, const type_string &p_rcToStr)
 文字列を置換します。. より詳しく...

virtual bool ToLowerOneChar (type_string &p_rcSourceStr, const int p_iPos) const
 ・特定の大文字を小文字にします。. より詳しく...

virtual bool ToUpperOneChar (type_string &p_rcSourceStr, const int p_iPos) const
 ・特定の小文字を大文字にします。. より詳しく...

virtual type_string ToLowerString (const type_string &p_rcSourceStr) const
 ・文字列を小文字にします。. より詳しく...

virtual type_string ToUpperString (const type_string &p_rcSourceStr) const
 ・文字列を大文字にします。. より詳しく...

virtual int CompareNoCase (const type_string &p_rcLhStr, const type_string &p_rcRhStr) const
 ・文字列を大文字小文字の区別なく比較します。. より詳しく...

virtual int ToInt (const type_string &p_rcStr) const
 文字列を整数値に変換します。. より詳しく...

virtual double ToDouble (const type_string &p_rcStr) const
 文字列を実数に変換します。. より詳しく...

virtual bool IsInt (const type_string &p_rcStr) const
 整数値が入っているかどうか調べます。. より詳しく...

virtual type_string ToString (const int p_i) const
 整数値を文字列に変換します。. より詳しく...

virtual type_string ToString (const int p_iSource, const int p_iMinimumDigit) const
 整数値を文字列に変換します。. より詳しく...

virtual const char *const ToNotNull (const char *const p_pch) const throw ()
 NULL を \0 に変換します。. より詳しく...

virtual void CopyAndEraseEmptyLine (const type_Chars::type_string_vector &p_rcSourceStrVec, type_Chars::type_string_vector &p_rcRetStrVec) const
 ・空文字列を避けてコピーします。. より詳しく...

virtual bool Separate (const type_string &p_rcSourceStr, type_string_vector &p_rcRetCsvStrVec, const char p_chBracket, const char p_chSeparator) const
 ・文字列を特定の文字で分割します。. より詳しく...

virtual bool OneLineToCsv (const type_string &p_rcSourceStr, type_string_vector &p_rcRetCsvStrVec, const char p_chBracket) const
 ・文字列を CSV とみなしてパーシングします。. より詳しく...

virtual type_string StrVecToOneStr (const type_string_vector &p_rcStrVec, const type_string &p_rcSeparatorStrVec) const
 ・「文字列のベクター」を1行の文字列にまとめます。. より詳しく...

virtual void CopyAndEraseSameLine (const type_Chars::type_string_vector &p_rcSourceStrVec, type_Chars::type_string_vector &p_rcRetStrVec, const type_Chars::type_string &p_rcKeyStr) const
 ・同じ行を避けてコピーします。. より詳しく...

virtual void CopyAndEraseSameLineNoCase (const type_Chars::type_string_vector &p_rcSourceStrVec, type_Chars::type_string_vector &p_rcRetStrVec, const type_Chars::type_string &p_rcKeyStr) const
 ・同じ行を避けてコピーしますただし、大文字小文字は区別しません。. より詳しく...

virtual void MakeConsecutiveNo (std::vector< std::string > &p_rcRetStrVec, const std::string &p_rcPrefixStr, const std::string &p_rcSuffixStr, const int p_iFirstNo, const int p_iLastNo, const int p_iDigitNum) const throw ()
 ・インデックスナンバー付きの文字列を作成します。. より詳しく...


解説

・ウィンドウズ用文字列操作クラス。.

 Windows の Shift-JIS 文字コードでの文字列操作を行うためのクラスです。
 Shift-JIS 文字コードによる問題を取り除いてあります。


メンバ型定義の解説

typedef CWinShiftJisChars KSCL::CWinShiftJisStringUtil::type_Chars
 

文字タイプの型定義。.

typedef type_Chars::type_string KSCL::CWinShiftJisStringUtil::type_string
 

文字列型の型定義。.

typedef type_Chars::type_string_vector KSCL::CWinShiftJisStringUtil::type_string_vector
 

文字列配列の型定義。.


メンバ列挙型の解説

enum KSCL::CWinShiftJisStringUtil::RETURN_VALUE
 

・戻り値として使う定数。.

 エラーなどの戻り値に使用する定数値です。

列挙型値:
E_NOT_FOUND   「見つからなかった」場合の戻り値です。

enum KSCL::CWinShiftJisStringUtil::PARAMETER_VALUE
 

・パラメーターとして使う定数。.

 関数の引数に渡す定数値です。

列挙型値:
E_DIGIT_NUM_USE_NO   MakeConsecutiveNo() で「桁数固定を行わない」に渡します。


コンストラクタとデストラクタの解説

KSCL::CWinShiftJisStringUtil::CWinShiftJisStringUtil  
 

・コンストラクタ。.

 特に何もしません。

KSCL::CWinShiftJisStringUtil::~CWinShiftJisStringUtil   [virtual]
 

・デストラクタ。.

 特に何もしません。


メンバ関数の解説

type_Chars::MBC_CHAR_TYPE KSCL::CWinShiftJisStringUtil::GetCharType const type_string   p_rcTargetStr,
const int    p_iKeyCharPos
const [virtual]
 

・文字種を取得します。.

マルチバイト文字の特定文字の文字種を返します。

戻り値:
CWinShiftJisChars::MBC_CHAR_TYPE が示す文字種。
引数:
p_rcTargetStr  調べる文字を含む文字列。
p_iKeyCharPos  第1引数内の、調べる文字の位置。

int KSCL::CWinShiftJisStringUtil::FindFirstChar const type_string   p_rcTargetStr,
const char    p_iKeyChar
const [virtual]
 

・単語を探します。.

 2バイト文字のチェックをしてるので、「ソ」が含まれてる文字列から \ を取り出しても問題なし。

戻り値:
見つかった位置。見つからなかったら E_NOT_FOUND を返します。
引数:
p_rcTargetStr  見つけ出す相手。
p_iKeyChar  探したい文字。

int KSCL::CWinShiftJisStringUtil::FindLastChar const type_string   p_rcTargetStr,
const char    p_iKeyChar
const [virtual]
 

・単語を探します。複数見つかった場合には一番最後の場所を返します。.

戻り値:
見つかった場所の位置。見つからなかったら E_NOT_FOUND を返します。
引数:
p_rcTargetStr  見つけ出す相手。
p_iKeyChar  探したい文字。

bool KSCL::CWinShiftJisStringUtil::IsMatchChar const type_string   p_rcTargetStr,
const char    p_chKeyChar,
const int    p_iIndex
const [virtual]
 

・文字が一致してるかどうか調べます。.

戻り値:
true  一致しました。
false  一致していませんでした。
引数:
p_rcTargetStr  見つけ出す相手。
p_chKeyChar  一致するか調べる文字。
p_iIndex  調べる位置。

bool KSCL::CWinShiftJisStringUtil::IsMatchFirstChar const type_string   p_rcTargetStr,
const char    p_chKeyChar
const [virtual]
 

・一番最初の文字が一致してるかどうか調べます。.

戻り値:
true  一致しました。
false  一致していませんでした。
引数:
p_rcTargetStr  見つけ出す相手。
p_chKeyChar  一致するか調べる文字。

bool KSCL::CWinShiftJisStringUtil::IsMatchLastChar const type_string   p_rcTargetStr,
const char    p_chKeyChar
const [virtual]
 

・一番最後の文字が一致してるかどうか調べます。.

戻り値:
true  一致しました。
false  一致していませんでした。
引数:
p_rcTargetStr  見つけ出す相手。
p_chKeyChar  一致するか調べる文字。

type_string KSCL::CWinShiftJisStringUtil::EraceAllChar const type_string   p_rcSourceStr,
const char    p_chKey
const [virtual]
 

・特定の文字を削除します。.

 文字列に含まれる特定の文字を削除します。

戻り値:
削除後の文字列。

int KSCL::CWinShiftJisStringUtil::CountChar const type_string   p_rcTargetStr,
const char    p_chKey
const [virtual]
 

・特定の文字がいくつ入っているか調べます。.

 ある文字列の中に、特定の文字がいくつ含まれているか数えます。

戻り値:
含まれている個数。
引数:
p_rcTargetStr  探す相手になる文字列。
p_chKey  キーになる文字。

type_string KSCL::CWinShiftJisStringUtil::GetFileInPath const type_string   p_rcSourcePathStr const [virtual]
 

・ファイルパスからファイル名だけを取り出します。.

戻り値:
ファイル名。消せなかったら空文字列が返ります。
引数:
p_rcSourcePathStr  ファイルパス。

type_string KSCL::CWinShiftJisStringUtil::GetExtentionInPath const type_string   p_rcSourcePathStr const [virtual]
 

・ファイルパスから拡張子だけを取り出します。.

 たとえば "C:\\Folder\\Test.txt" であれば "txt" を返します。
 また、 "AAA.BBB.CCC" であれば "CCC" を返します。

戻り値:
拡張子。消せなかったら空文字列が返ります。
引数:
p_rcSourcePathStr  ファイルパス。

type_string KSCL::CWinShiftJisStringUtil::GetFolderPathInPath const type_string   p_rcSourcePathStr const [virtual]
 

・ファイルパスからフォルダパスだけを取り出します。.

戻り値:
フォルダのパス。最後に \ が付いています。消せなかったら空文字列が返ります。
引数:
p_rcSourcePathStr  ファイルパス。

type_string KSCL::CWinShiftJisStringUtil::GetNoExtentionPath const type_string   p_rcSourcePathStr const [virtual]
 

・ファイルパスから拡張子を削ります。.

 ファイルパス(もしくはファイル名)から拡張子を削り取って返します。

戻り値:
拡張子を削ったファイル。 . は付きません。もし拡張子が元々なかったら空文字列が返ります。
引数:
p_rcSourcePathStr  ファイルパス。

type_string KSCL::CWinShiftJisStringUtil::EraseLastPathSeparator const type_string   p_rcSourceStr const [virtual]
 

・文字列の最後に付いている を削除します。.

文字列の最後の文字を調べて、 \ が付いてたら削除します。

戻り値:
\ を取り除いた後の文字列。付いていなかったら引数そのままを返します。
引数:
p_rcSourceStr  \ を取り除く文字列。

type_string KSCL::CWinShiftJisStringUtil::AddLastPathSeparator const type_string   p_rcSourceStr const [virtual]
 

・文字列の最後に を追加します。.

文字列の最後の文字を調べて、 \ が付いてなかったら追加します。
付いていたらそのままにします。

戻り値:
\ を追加した後の文字列。付いていたら引数そのままを返します。
引数:
p_rcSourceStr  \ を加える文字列。

type_string KSCL::CWinShiftJisStringUtil::AddFileNameToPath const type_string   p_rcPathStr,
const type_string   p_rcFileNameStr
const [virtual]
 

・フォルダパスとファイルをくっつけます。.

 第1引数をフォルダパスと見立てて、 \ で挟むようにしてその後ろに第2引数をくっつけます。
 つまり、挟んだ間に \ がなかったり \ がふたつあったりしないようにして挟み込んで返します。

戻り値:
ふたつをくっつけた後のフルパス。
引数:
p_rcPathStr  フォルダのフルパス(別にフルパスじゃなくてもいいけど)。
p_rcFileNameStr  後ろにくっつけるファイル名。

bool KSCL::CWinShiftJisStringUtil::IsMatchString const type_string   p_rcSourceStr,
const type_string   p_rcKeyStr,
const int    p_iIndex
const [virtual]
 

・ある位置の文字列が一致するかチェックします。.

 文字列内の特定位置の文字列が、指定した文字列と同じかどうかチェックします。

戻り値:
true  一致しました。
false  一致していませんでした。
引数:
p_rcSourceStr  見つけ出す相手。
p_rcKeyStr  一致するか調べる文字列。
p_iIndex  調べる位置。

int KSCL::CWinShiftJisStringUtil::FindFirstString const type_string   p_rcSourceStr,
const type_string   p_rcKeyStr
const [virtual]
 

・文字列を検索します。.

 文字列内から最初に見つかった文字列の位置を返します。

戻り値:
見つかった位置。見つからなかったら E_NOT_FOUND を返します。
引数:
p_rcSourceStr  検索対象とする文字列。
p_rcKeyStr  キーとなる文字列。

int KSCL::CWinShiftJisStringUtil::FindFirstString const type_string   p_rcSourceStr,
const int    p_iPos,
const type_string   p_rcKeyStr
const [virtual]
 

・文字列を検索します。.

 文字列内から最初に見つかった文字列の位置を返します。
 引数ひとつのものと違って、 p_iPos から検索を始めます。

戻り値:
見つかった位置。見つからなかったら E_NOT_FOUND を返します。
引数:
p_rcSourceStr  検索対象とする文字列。
p_iPos  p_rcSourceStr 内の検索開始位置。インデックスナンバーです。ポインタじゃないです。
p_rcKeyStr  キーとなる文字列。

int KSCL::CWinShiftJisStringUtil::FindLastString const type_string   p_rcSourceStr,
const type_string   p_rcKeyStr
const [virtual]
 

・最後にある文字列を検索します。.

 文字列内から最後に見つかった文字列の位置を返します。

戻り値:
見つかった位置。見つからなかったら E_NOT_FOUND を返します。
引数:
p_rcSourceStr  検索対象とする文字列。
p_rcKeyStr  キーとなる文字列。

bool KSCL::CWinShiftJisStringUtil::IsMatchFirstString const type_string   p_rcTargetStr,
const type_string   p_rcKeyStr
const [virtual]
 

・一番最初の文字列が一致してるかどうか調べます。.

戻り値:
true  一致しました。
false  一致していませんでした。
引数:
p_rcTargetStr  見つけ出す相手。
p_rcKeyStr  一致するか調べる文字列。

bool KSCL::CWinShiftJisStringUtil::IsMatchLastString const type_string   p_rcTargetStr,
const type_string   p_rcKeyStr
const [virtual]
 

・一番最後の文字列が一致してるかどうか調べます。.

戻り値:
true  一致しました。
false  一致していませんでした。
引数:
p_rcTargetStr  見つけ出す相手。
p_rcKeyStr  一致するか調べる文字列。

type_string KSCL::CWinShiftJisStringUtil::CutFirstChars const type_string   p_rcSourceStr,
const int    p_iCuttingSize
const [virtual]
 

・頭の数文字を削除します。.

 たとえば "ABCDE" と 4 を渡せば E になって返ってきます。

戻り値:
削除後の文字列を返します。エラー時には空文字列を返します。
引数:
p_rcSourceStr  切り取る文字列。
p_iCuttingSize  切り取るサイズ。

type_string KSCL::CWinShiftJisStringUtil::CutLastChars const type_string   p_rcSourceStr,
const int    p_iCuttingSize
const [virtual]
 

・後ろの数文字を削除します。.

 たとえば "ABCDE" と 4 を渡せば A になって返ってきます。

戻り値:
削除後の文字列を返します。エラー時には空文字列を返します。
引数:
p_rcSourceStr  切り取る文字列。
p_iCuttingSize  切り取るサイズ。位置じゃないので注意。

type_string KSCL::CWinShiftJisStringUtil::EraceFirstChars const type_string   p_rcSourceStr,
const char    p_chKey
const [virtual]
 

・頭にある数文字を削除します。.

 これは、最初の1文字だけ削除する関数ではありません。 0 個以上の文字を削除するものです。
 たとえば、 "AABBAA" と 'A' を渡したら、 "BBAA" が返します。
 CutFirstChars() との違いに注意してください。

戻り値:
削除後の文字列。
引数:
p_rcSourceStr  削除する文字列。
p_chKey  頭にあるであろう文字。この文字を取り除きます。

type_string KSCL::CWinShiftJisStringUtil::EraceLastChars const type_string   p_rcSourceStr,
const char    p_chKey
const [virtual]
 

・うしろにある数文字を削除します。.

 これは、最後の1文字だけ削除する関数ではありません。 0 個以上の文字を削除するものです。
 たとえば、 "AABBAA" と 'A' を渡したら、 "AABB" が返します。
 CutLastChars() との違いに注意してください。

戻り値:
削除後の文字列。
引数:
p_rcSourceStr  削除する文字列。
p_chKey  うしろにあるであろう文字。この文字を取り除きます。

type_string KSCL::CWinShiftJisStringUtil::SeparateString const type_string   p_rcSourceStr,
const int    p_iByte
const [virtual]
 

マルチバイト文字に対して、あるサイズで切り出します。.

 たとえば「Aあいう」で 4 で切り出した場合、「い」のリードバイトとトレイルバイトが分割されてしまいます。
 この関数は「Aあ」で切り出します。つまりリードバイトが末尾にある場合にはそれを取り除きます。
 ちなみに「ABCDE」を 3 で切り出すと「ABC」と「DE」が返ります。 KSCL::CWinShiftJisStringUtil::FindFirstChar() で 'D' を検索すると 3 が返ってくるので、「 FindFirstChar() で検索した文字の直前までを切り出す」ことになります

戻り値:
分割後の文字列。分割できなかった場合には p_rcSourceStr をそのまま返します。
引数:
p_rcSourceStr  分割する文字列。
p_iByte  分割する文字数。文字数だから、 ABC で 2 なら AB を抜き出します。

void KSCL::CWinShiftJisStringUtil::SeparateString const type_string   p_rcSourceStr,
const int    p_iByte,
type_string   p_rcRetFirstStr,
type_string   p_rcRetLastStr
const [virtual]
 

マルチバイト文字に対して、あるサイズで切り出します。.

 たとえば「Aあいう」で 4 で切り出した場合、「い」のリードバイトとトレイルバイトが分割されてしまいます。
 この関数は「Aあ」で切り出します。つまりリードバイトが末尾にある場合にはそれを取り除きます。
 たとえば「Aあいう」を 4 で切り出すと「Aあ」と「いう」が返ります。
 引数ふたつの KSCL::CWinShiftJisStringUtil::SeparateString() との違いは、こちらは後半部分も返すという点です。
 ちなみに「ABCDE」を 3 で切り出すと「ABC」と「DE」が返ります。 KSCL::CWinShiftJisStringUtil::FindFirstChar() で 'D' を検索すると 3 が返ってくるので、「 FindFirstChar() で検索した文字の直前までを切り出す」ことになります。 それはつまり「 FindFirstChar() で検索した文字が後ろの先頭に来る」ことでもあります。

引数:
p_rcSourceStr  分割する文字列。
p_iByte  分割する文字数。文字数だから、 ABC で 2 なら AB を抜き出します。サイズオーバー時には p_rcSourceStr と "" を返します。
p_rcRetFirstStr  分割した文字列の前半を返します。分割できなかった場合には p_rcSourceStr をそのまま返します。
p_rcRetLastStr  分割した文字列の後半を返します。

type_string KSCL::CWinShiftJisStringUtil::ReplaceString const type_string   p_rcSourceStr,
const type_string   p_rcKeyStr,
const type_string   p_rcToStr
[virtual]
 

文字列を置換します。.

 文字列を普通に置き換えます。

戻り値:
置き換えたあとの文字列。
引数:
p_rcSourceStr  置き換え対象の文字列。
p_rcKeyStr  この文字列を見かけたら p_rcToStr に置き換えます。
p_rcToStr  この文字列に置き換えます。

bool KSCL::CWinShiftJisStringUtil::ToLowerOneChar type_string   p_rcSourceStr,
const int    p_iPos
const [virtual]
 

・特定の大文字を小文字にします。.

 2バイト文字判定を行って小文字にします。

戻り値:
true  変換に成功しました。
false  変換に失敗しました。元々小文字だった場合にも失敗になります。
引数:
p_rcSourceStr  変換対象となる文字列。変換後もここに返されます。
p_iPos  変換する文字の位置。

bool KSCL::CWinShiftJisStringUtil::ToUpperOneChar type_string   p_rcSourceStr,
const int    p_iPos
const [virtual]
 

・特定の小文字を大文字にします。.

 2バイト文字判定を行って大文字にします。

戻り値:
true  変換に成功しました。
false  変換に失敗しました。元々大文字だった場合にも失敗になります。
引数:
p_rcSourceStr  変換対象となる文字列。変換後もここに返されます。
p_iPos  変換する文字の位置。

type_string KSCL::CWinShiftJisStringUtil::ToLowerString const type_string   p_rcSourceStr const [virtual]
 

・文字列を小文字にします。.

 2バイト文字判定を行って小文字にします。

戻り値:
変換後の文字列。全く変換されなかった場合には第1引数がそのまま返ります。
引数:
p_rcSourceStr  変換する文字列。

type_string KSCL::CWinShiftJisStringUtil::ToUpperString const type_string   p_rcSourceStr const [virtual]
 

・文字列を大文字にします。.

 2バイト文字判定を行って大文字にします。

戻り値:
変換後の文字列。全く変換されなかった場合には第1引数がそのまま返ります。
引数:
p_rcSourceStr  変換する文字列。

int KSCL::CWinShiftJisStringUtil::CompareNoCase const type_string   p_rcLhStr,
const type_string   p_rcRhStr
const [virtual]
 

・文字列を大文字小文字の区別なく比較します。.

 2バイト文字判定も機能してます。
 余談ですが、この中では左右両方を小文字にしてから比較しています。
 ということは、 KSCL::CWinShiftJisStringUtil::FindFirstString() 系の検索も 同様にすれば区別なく比較できるということです。
 というわけで、これ以外の関数でそういうことをする場合には KSCL::CWinShiftJisStringUtil::ToLowerString() と 掛けてからしてみましょう。

戻り値:
p_rcLhStr  < p_rcRhStr
0  p_rcLhStr == p_rcRhStr
p_rcLhStr  > p_rcRhStr
引数:
p_rcLhStr  左オペランドの文字列。
p_rcRhStr  右オペランドの文字列。

int KSCL::CWinShiftJisStringUtil::ToInt const type_string   p_rcStr const [virtual]
 

文字列を整数値に変換します。.

戻り値:
変換後の整数値。変換に失敗した場合には 0 が返りますが、これをエラーチェックには使わないでください。
引数:
p_rcStr  整数値が入っている文字列。

double KSCL::CWinShiftJisStringUtil::ToDouble const type_string   p_rcStr const [virtual]
 

文字列を実数に変換します。.

戻り値:
変換後の実数。変換に失敗した場合には 0.0 が返りますが、これをエラーチェックには使わないでください。
引数:
p_rcStr  整数値が入っている文字列。

bool KSCL::CWinShiftJisStringUtil::IsInt const type_string   p_rcStr const [virtual]
 

整数値が入っているかどうか調べます。.

 ToInt() 等で変換する前に呼んで、実際に変換できるのかを調べます。

戻り値:
true  文字列の中に整数値が入ってます。
false  文字列の中に整数値以外の文字が入ってます。
引数:
p_rcStr  整数値が入っている(であろう)文字列。

type_string KSCL::CWinShiftJisStringUtil::ToString const int    p_i const [virtual]
 

整数値を文字列に変換します。.

戻り値:
変換後の文字列。
引数:
p_i  変換する整数値。

type_string KSCL::CWinShiftJisStringUtil::ToString const int    p_iSource,
const int    p_iMinimumDigit
const [virtual]
 

整数値を文字列に変換します。.

 引数が1のものに対して、最小桁数を指定できます。
 ToString( 1, 2 ) で "01" が返ります。
 注:負の値だとうまく動作しないので注意。

戻り値:
変換後の文字列。
引数:
p_iSource  変換する整数値。
p_iMinimumDigit  最小桁数。

const char *const KSCL::CWinShiftJisStringUtil::ToNotNull const char *const    p_pch const throw () [virtual]
 

NULL を \0 に変換します。.

 文字列ポインタを受け取って、それが NULL なら "" に変換します。
 NULL じゃない場合には第1引数で受け取ったポインタをそのまま返します。

戻り値:
"" を指すアドレス。 static なポインタです。もしくは第1引数のポインタそのものです。
引数:
p_pch  NULL かどうか調べる文字列。

void KSCL::CWinShiftJisStringUtil::CopyAndEraseEmptyLine const type_Chars::type_string_vector &    p_rcSourceStrVec,
type_Chars::type_string_vector &    p_rcRetStrVec
const [virtual]
 

・空文字列を避けてコピーします。.

 第1引数から第2引数へと文字列をコピーします。その際、空文字列はコピーしません。
 コピーは、第2引数の vector の最後に追加していく形になります。

引数:
p_rcSourceStrVec  コピー元文字列配列。
p_rcRetStrVec  コピー先文字列配列。空行は入っていません。

bool KSCL::CWinShiftJisStringUtil::Separate const type_string   p_rcSourceStr,
type_string_vector   p_rcRetCsvStrVec,
const char    p_chBracket,
const char    p_chSeparator
const [virtual]
 

・文字列を特定の文字で分割します。.

 第1引数内にある文字で分けられた文字列を入れると、それを分割して第2引数に返します。
 最後に分割文字が来るとはみなしません。つまり、「あ,い,」の場合で分割文字が , の場合、 p_rcRetCsvStrVec.size() は 3 になります。
 このとき、 p_rcRetCsvStrVec.at( 2 ) には空文字列が入ります。
 また、第3引数内に分割文字が入っている場合には分割文字を無視します。
 たとえば第3引数に '\"' を渡していて、第4引数の分割文字が , の場合、 「あ,"い,う",え」は「あ」「"い,う"」「え」の3要素に分割されます。
 ちなみに「どれも囲まれてない」という場合には 0 や -1 を渡せばうまくいくはずです。

戻り値:
常に true 。
引数:
p_rcSourceStr  分割対象とする文字列。
p_rcRetCsvStrVec  分割後の文字列を返します。
p_chBracket  各項目を囲む文字を指定します。すべての項目が囲まれていなくても構いません。
p_chSeparator  分割文字です。この文字が出てきたらそこで区切ります。分割後の文字列には含まれません。

bool KSCL::CWinShiftJisStringUtil::OneLineToCsv const type_string   p_rcSourceStr,
type_string_vector   p_rcRetCsvStrVec,
const char    p_chBracket
const [virtual]
 

・文字列を CSV とみなしてパーシングします。.

 第1引数内に CSV の1行分を入れると、それを分割して第2引数に返します。
 CSV は、最後に , が来るとはみなしません。つまり、「あ,い,」の場合、 p_rcRetCsvStrVec.size() は 3 になります。
 このとき、 p_rcRetCsvStrVec.at( 2 ) には空文字列が入ります。
 また、第3引数内に , が入っている場合には、 , を無視します。
 たとえば第3引数に '\"' を渡した場合、「あ,"い,う",え」は「あ」「"い,う"」「え」の3要素に分割されます。
 ちなみに「どれも囲まれてない」という場合には 0 や -1 を渡せばうまくいくはずです。

戻り値:
常に true 。
引数:
p_rcSourceStr  分割対象とする文字列。
p_rcRetCsvStrVec  分割後の CSV データを返します。
p_chBracket  各項目を囲む文字を指定します。すべての項目が囲まれていなくても構いません。

type_string KSCL::CWinShiftJisStringUtil::StrVecToOneStr const type_string_vector   p_rcStrVec,
const type_string   p_rcSeparatorStrVec
const [virtual]
 

・「文字列のベクター」を1行の文字列にまとめます。.

戻り値:
まとめられた文字列。
引数:
p_rcStrVec  ひとまとめにする「文字列のベクター」。
p_rcSeparatorStrVec  間に入れる文字列。 "," とか。

void KSCL::CWinShiftJisStringUtil::CopyAndEraseSameLine const type_Chars::type_string_vector &    p_rcSourceStrVec,
type_Chars::type_string_vector &    p_rcRetStrVec,
const type_Chars::type_string &    p_rcKeyStr
const [virtual]
 

・同じ行を避けてコピーします。.

 第1引数から第2引数へと文字列をコピーします。その際、第3引数と同じ行はコピーしません。
 コピーは、第2引数の vector の最後に追加していく形になります。

引数:
p_rcSourceStrVec  コピー元文字列配列。
p_rcRetStrVec  コピー先文字列配列。第3引数の文字列を含みません。
p_rcKeyStr  一致してるかどうかのキーになる文字列。

void KSCL::CWinShiftJisStringUtil::CopyAndEraseSameLineNoCase const type_Chars::type_string_vector &    p_rcSourceStrVec,
type_Chars::type_string_vector &    p_rcRetStrVec,
const type_Chars::type_string &    p_rcKeyStr
const [virtual]
 

・同じ行を避けてコピーしますただし、大文字小文字は区別しません。.

 第1引数から第2引数へと文字列をコピーします。その際、第3引数と同じ行はコピーしません。
 ただし、大文字小文字を区別しません。
 コピーは、第2引数の vector の最後に追加していく形になります。

引数:
p_rcSourceStrVec  コピー元文字列配列。
p_rcRetStrVec  コピー先文字列配列。第3引数の文字列を含みません。
p_rcKeyStr  一致してるかどうかのキーになる文字列。

void KSCL::CWinShiftJisStringUtil::MakeConsecutiveNo std::vector< std::string > &    p_rcRetStrVec,
const std::string &    p_rcPrefixStr,
const std::string &    p_rcSuffixStr,
const int    p_iFirstNo,
const int    p_iLastNo,
const int    p_iDigitNum
const throw () [virtual]
 

・インデックスナンバー付きの文字列を作成します。.

 いわゆる「連番」を作成します。
 たとえば

	p_rcPrefixStr = "AAA";
	p_rcSuffixStr = "BBB";
	p_iFirstNo = 1;
	p_iDigitNum = 2;
 なら、
	AAA01BBB
	AAA02BBB
	AAA03BBB
 という感じに p_rcRetStrVec に追加していきます。
引数:
p_rcRetStrVec  ここに文字列を返します。ただ追加していくだけなので注意。
p_rcPrefixStr  インデックスナンバーに付けるプレフィックス。付けないなら空文字列を渡してください。
p_rcSuffixStr  インデックスナンバーに付けるサフィックス。付けないなら空文字列を渡してください。
p_iFirstNo  インデックスナンバーの最初の値。
p_iLastNo  インデックスナンバーの最後の値。この値も含みます。
p_iDigitNum  インデックスナンバーの桁数。 2 なら 00 とか 01 。 E_DIGIT_NUM_USE_NO を渡すと桁数は固定になりません。


KSCL(KAB-studioClassLibrary)に対してThu Jun 12 09:55:41 2003に生成されました。 doxygen1.2.15