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

クラス KSCL::CWinShiftJisChars の解説

・Windows Shift-JIS 文字についての情報を格納するクラスです。. より詳しく...

すべてのメンバ一覧

公開型

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

typedef std::vector< type_stringtype_string_vector
 文字配列型の型定義。. より詳しく...

enum  MBC_CHAR_TYPE {
  E_MBC_SINGLE = 0,
  E_MBC_LEAD = 1,
  E_MBC_TRAIL = 2,
  E_MBC_ILLEGAL = -1
}
 ・文字の種類です。. より詳しく...

enum  CHARS {
  E_FILE_PATH_SEPARATOR = '\\',
  E_DRIVE_SEPARATOR = ':',
  E_STRING_TERMINATOR = '\0',
  E_EXTENTION_SEPARATOR = '.',
  E_CARRIAGE_RETURN = '\n',
  E_COMMA = ','
}
 ・文字定数です。. より詳しく...

enum  NUM {
  E_DRIVE_AND_SEPARATOR_LENGTH = 2,
  E_DRIVE_POS = 0,
  E_DRIVE_SEPARATOR_POS = 1
}
 ・文字関係の定数です。. より詳しく...


静的公開メンバ

std::string GetThisFolderDot ()
 自フォルダ、つまり . を返します。. より詳しく...

std::string GetParentFolderDot ()
 ひとつ前のフォルダ、つまり .. を返します。. より詳しく...

MBC_CHAR_TYPE GetMbcType (const unsigned char *const p_pchTarget, const int p_iIndexPos)
 ・文字種を返します。. より詳しく...

MBC_CHAR_TYPE GetMbcType (const char *const p_pchTarget, const int p_iIndexPos)
 ・文字種を返します。. より詳しく...

MBC_CHAR_TYPE GetMbcTypeWithBeforeChar (const unsigned char p_uchCurrentChar, const CWinShiftJisChars::MBC_CHAR_TYPE p_eBeforeCharType)
 直前の文字種を元に、文字種を返します。. より詳しく...

bool IsShiftJISLeadbyte (const unsigned char p_uchFromLeadbyte)
 文字が Shift-JIS リードバイトかどうかチェックします。. より詳しく...

bool IsShiftJISTrailbyte (const unsigned char p_uchFromTrailbyte)
 文字が Shift-JIS トレイルバイトかどうかチェックします。. より詳しく...


解説

・Windows Shift-JIS 文字についての情報を格納するクラスです。.

 Windows Shift-JIS の文字情報を格納します。
 文字リテラルはハードコーディングせずこのクラスのメンバを使用してください。


メンバ型定義の解説

typedef std::string KSCL::CWinShiftJisChars::type_string
 

文字列型の型定義。.

typedef std::vector< type_string > KSCL::CWinShiftJisChars::type_string_vector
 

文字配列型の型定義。.


メンバ列挙型の解説

enum KSCL::CWinShiftJisChars::MBC_CHAR_TYPE
 

・文字の種類です。.

マルチバイトの場合、文字の種類がそれぞれの文字に付けられます。そのフラグです。

列挙型値:
E_MBC_SINGLE  シングルバイト文字です。普通の ASCII 文字ということですね。記号系も含まれます。
E_MBC_LEAD  日本語文字のリードバイトです。
E_MBC_TRAIL  日本語文字のトレイルバイトです。
E_MBC_ILLEGAL  不明な文字種です。

enum KSCL::CWinShiftJisChars::CHARS
 

・文字定数です。.

 文字リテラルそのものです。

列挙型値:
E_FILE_PATH_SEPARATOR   フォルダとフォルダの間の区切り文字。
E_DRIVE_SEPARATOR   フォルダとドライブの間の区切り文字。
E_STRING_TERMINATOR   終端文字。
E_EXTENTION_SEPARATOR   拡張子との区切り文字。
E_CARRIAGE_RETURN   改行文字。
E_COMMA   カンマ。

enum KSCL::CWinShiftJisChars::NUM
 

・文字関係の定数です。.

 文字数等の定数を管理します。

列挙型値:
E_DRIVE_AND_SEPARATOR_LENGTH   ドライブとコロン、つまり C: とかの文字数。つまり 2 。
E_DRIVE_POS   ドライブ、つまり C: の C の位置。つまり 0 。
E_DRIVE_SEPARATOR_POS   コロン、つまり C: の : の位置。つまり 1 。


メンバ関数の解説

std::string KSCL::CWinShiftJisChars::GetThisFolderDot   [inline, static]
 

自フォルダ、つまり . を返します。.

戻り値:
. を返します。

std::string KSCL::CWinShiftJisChars::GetParentFolderDot   [inline, static]
 

ひとつ前のフォルダ、つまり .. を返します。.

戻り値:
.. を返します。

CWinShiftJisChars::MBC_CHAR_TYPE KSCL::CWinShiftJisChars::GetMbcType const unsigned char *const    p_pchTarget,
const int    p_iIndexPos
[static]
 

・文字種を返します。.

 Shift-JIS の文字種を返します。

戻り値:
MBC_CHAR_TYPE のいずれか。
引数:
p_pchTarget  検索対象とする文字列。
p_iIndexPos  文字種を知りたい文字の位置。

CWinShiftJisChars::MBC_CHAR_TYPE KSCL::CWinShiftJisChars::GetMbcType const char *const    p_pchTarget,
const int    p_iIndexPos
[static]
 

・文字種を返します。.

 Shift-JIS の文字種を返します。

戻り値:
MBC_CHAR_TYPE のいずれか。
引数:
p_pchTarget  検索対象とする文字列。
p_iIndexPos  文字種を知りたい文字の位置。

CWinShiftJisChars::MBC_CHAR_TYPE KSCL::CWinShiftJisChars::GetMbcTypeWithBeforeChar const unsigned char    p_uchCurrentChar,
const CWinShiftJisChars::MBC_CHAR_TYPE    p_eBeforeCharType
[static]
 

直前の文字種を元に、文字種を返します。.

 Shift-JIS は、文字コードだけではリードバイトかトレイルバイトか判定できません。
 が、「トレイルバイトの前にはリードバイトが必ずある」等の制約条件があるため、直前の文字種が判れば 判定することができます。その判定を行う関数です。

戻り値:
MBC_CHAR_TYPE のいずれか。
引数:
p_uchCurrentChar  文字種を知りたい文字。
p_eBeforeCharType  直前の文字種のタイプ。

bool KSCL::CWinShiftJisChars::IsShiftJISLeadbyte const unsigned char    p_uchFromLeadbyte [static]
 

文字が Shift-JIS リードバイトかどうかチェックします。.

戻り値:
true  リードバイトです。
false  リードバイトではありません。
引数:
p_uchFromLeadbyte  リードバイトかどうかチェックする文字。

bool KSCL::CWinShiftJisChars::IsShiftJISTrailbyte const unsigned char    p_uchFromTrailbyte [static]
 

文字が Shift-JIS トレイルバイトかどうかチェックします。.

 ただし、 Shift-JIS の性質上、ひとつ前の文字がリードバイトでない場合には、 全然関係ない文字がトレイルバイトとして判断されて true を返す可能性があります。
 この関数を呼ぶ前に、必ずひとつ前の文字がリードバイトかどうかチェックしてください。
 ってゆーか GetMbcTypeWithBeforeChar() を使いましょう。

戻り値:
true  トレイルバイトです。
false  トレイルバイトではありません。
引数:
p_uchFromTrailbyte  トレイルバイトかチェックする文字。


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