前のページ次のページ上に戻るホーム SophiaFramework 2.1
SFUWideString
WChar 文字列を表すクラスです。
#include <SFUWideString.hpp>
class SFUWideString;
typedef SFUWideString&          SFUWideStringRef;
typedef SFUWideString*          SFUWideStringPtr;
typedef SFUWideString**         SFUWideStringHandle;
typedef const SFUWideString     ConstSFUWideString;
typedef const SFUWideString&    ConstSFUWideStringRef;
typedef const SFUWideString*    ConstSFUWideStringPtr;
typedef const SFUWideString**   ConstSFUWideStringHandle;

解説

SFUWideString はWChar の文字列を表すクラスです。

参照

SFUAnsiString

メンバ

コンストラクタ/デストラクタ
public
SFUWideString SFUWideString クラスのコンストラクタです。
public
~SFUWideString SFUWideString クラスのデストラクタです。
パブリック関数
public
BeginWith 文字列の先頭に指定された文字列があるか判定します。
public
Clone 文字列バッファをコピーして返します。
public
Compare 文字列を比較して大小関係を判定します。
public
Empty 文字列の長さが 0 であるか判定します。
public
EndWith 文字列の末尾に指定された文字列があるか判定します。
public
Equal 文字列が等しいか判定します。
public
static
Format 書式に従って文字列を作成します。
public
static
FormatV 書式に従って文字列を作成します。
public
GetRaw 文字列の内部バッファを返します。
public
IndexOf 文字列を先頭から検索してインデックスを返します。
public
LastIndexOf 文字列を末尾から検索してインデックスを返します。
public
Length 文字列の長さを返します。
public
Replace 文字列を置換します。
public
Rotate 文字列を回転します。
public
Substring 部分文字列を返します。
public
ToLower 文字列を小文字に変換します。
public
ToUpper 文字列を大文字に変換します。
public
Trim 文字列の両端から空白や任意の文字を削除します。
public
operator * 文字列をリピートします。
public
operator ConstWCharPtr ConstWCharPtr にキャストします。
public
operator+ 文字列を連結します。
public
operator- 末尾から文字列を削除します。
public
operator< 文字列の大小を比較します。
public
operator= 文字列を代入します。
public
operator== 文字列が等しいか判定します。
public
operator> 文字列の大小を比較します。

SFUWideString::SFUWideString
SFUWideString クラスのコンストラクタです。
[ public ]
SFUWideString(Void);
[ public ]
SFUWideString(
    ConstSFUWideStringRef astr   // コピー元の AChar 文字列
);
[ public ]
SFUWideString(
    ConstSFUAnsiStringRef wstr   // コピー元の WChar 文字列
);
[ public ]
SFUWideString(
    ConstWCharPtr pach   // コピー元の AChar ポインタ
);
[ public ]
SFUWideString(
    ConstACharPtr pwch   // コピー元の WChar ポインタ
);
[ public ]
SFUWideString(
    AChar ach   // AChar 文字
);
[ public ]
SFUWideString(
    WChar wch   // WChar 文字
);
[ public ]
SFUWideString(
    VoidPtr ptr   // バッファ ポインタ
    UInt32 size   // バッファのバイト数
);

解説

SFUWideString のコンストラクタに SFUAnsiString または SFUWideString を指定すると、 その文字列をコピーしてオブジェクトを構築します。

AChar や WChar のポインタを指定すると、NULL 終端文字列と解釈してコピーします。

AChar や WChar を指定すると、その 1 文字と NULL 終端だけを含むオブジェクトを構築します。

参照

SFUWideString::operator==


SFUWideString::~SFUWideString
SFUWideString クラスのデストラクタです。
[ public, virtual ]
~SFUWideString(Void);

解説

SFUWideString オブジェクトを解放します。 内部の文字列バッファは解放されます。


SFUWideString::BeginWith
文字列の先頭に指定された文字列があるか判定します。
[ public, const ]
Bool BeginWith(
    ConstSFUWideStringRef string   
);

戻り値

文字列の先頭に指定された文字列があれば TRUE を返します。 そうでなければ FALSE を返します。

参照

SFUWideString::EndWith


SFUWideString::Clone
文字列バッファをコピーして返します。
[ public, const ]
WCharPtr Clone(
    Bool flag = FALSE   // NULL を返さないか
);

解説

SFUAnsiString の文字列バッファをコピーして WChar ポインタとして返します。 返されるポインタは FREE 関数により解放してください。

flag に FALSE を指定すると、文字列バッファが NULL の場合は NULL を返しますが、 flag に TRUE を指定すると、文字列バッファが NULL の場合でも空文字列を返します。

参照

SFUWideString::GetRaw


SFUWideString::Compare
文字列を比較して大小関係を判定します。
[ public, const ]
SInt32 Compare(
    ConstSFUWideStringRef string   // 比較する文字列
    Bool r1 = TRUE                 // 大小文字を区別するか
);

戻り値

2 つの文字列を辞書順に比較し、 この文字列が string より小さければ負の値を返し、 この文字列が string に等しければ 0 を返し、 この文字列が string より大きければ正の値を返します。


SFUWideString::Empty
文字列の長さが 0 であるか判定します。
[ public, const ]
Bool Empty(Void);

戻り値

文字列の長さが 0 であれば TRUE を返し、 そうでなければ FALSE を返します。

参照

SFUWideString::Length


SFUWideString::EndWith
文字列の末尾に指定された文字列があるか判定します。
[ public, const ]
Bool EndWith(
    ConstSFUWideStringRef string   
);

戻り値

文字列の末尾に指定された文字列があれば TRUE を返します。 そうでなければ FALSE を返します。

参照

SFUWideString::BeginWith


SFUWideString::Equal
文字列が等しいか判定します。
[ public, const ]
Bool Equal(
    ConstSFUWideStringRef string   // 比較対象の文字列
    Bool case = TRUE               // 大小文字を区別するか
);

参照

SFUWideString::operator==


SFUWideString::Format
書式に従って文字列を作成します。
[ public, static ]
SFUWideString Format(
    ConstACharPtr format   // 書式を表す文字列
     ...                   // データ
);

解説

書式に従って文字列を作成して返します。 書式は C 言語の printf 関数とほぼ同じですが、 浮動小数点数のための書式は使用できません。

使用例

SIntN hour = 13;
SIntN minute = 30;
SFUWideString str = SFUWideString::Format("%d時%d分", hour, minute);

参照

BREW API VSNPRINTF


SFUWideString::FormatV
書式に従って文字列を作成します。
[ public, static ]
SFUWideString FormatV(
    ConstACharPtr format   // 書式を表す文字列
    va_list arg            // データ
);

解説

書式に従って文字列を作成して返します。 書式は C 言語の printf 関数とほぼ同じですが、 浮動小数点数のための書式は使用できません。

参照

BREW API VSNPRINTF


SFUWideString::GetRaw
文字列の内部バッファを返します。
[ public, const ]
WCharPtr GetRaw(Void);

解説

GetRaw は、文字列の内部バッファを返します。 このバッファを直接操作することで柔軟な文字列操作が可能となります。 返される内部バッファは NULL 終端文字列として処理してください。 終端の NULL 文字を超えてアクセスしてはいけません。

また、内部バッファが NULL の場合もあり得ることに注意してください。 NULL ポインタに対する読み書きはできませんので、 この関数の戻り値が NULL でないか必ず確認するようにしてください。

参照

SFUWideString::Clone | SFUWideString::operator ConstWCharPtr


SFUWideString::IndexOf
文字列を先頭から検索してインデックスを返します。
[ public, const ]
SInt32 IndexOf(
    ConstSFUWideStringRef string   // 検索する文字列
    SInt32 start = 0               // 検索開始位置
);

解説

文字列を先頭から末尾に向かって検索し、最初に見つかった位置のインデックスを返します。 検索開始位置を指定することで、先頭以外の位置から検索することもできます。

参照

SFUWideString::LastIndexOf


SFUWideString::LastIndexOf
文字列を末尾から検索してインデックスを返します。
[ public, const ]
SInt32 LastIndexOf(
    ConstSFUWideStringRef string   // 検索する文字列
);
[ public, const ]
SInt32 LastIndexOf(
    ConstSFUWideStringRef string   // 検索する文字列
    SInt32 start = 0               // 検索開始インデックス
);

戻り値

検索に成功すると、見つかった位置のインデックスが返されます。 検索に失敗すると -1 が返されます。

解説

文字列を末尾から先頭に向かって検索し、 最初に見つかった位置のインデックスを返します。 検索開始位置を指定することで、末尾以外の位置から検索することもできます。

参照

SFUWideString::IndexOf


SFUWideString::Length
文字列の長さを返します。
[ public, const ]
SInt32 Length(Void);

SFUWideString::Replace
文字列を置換します。
[ public, const ]
SFUWideString Replace(
    ConstSFUWideStringRef from   // 置換元の文字列
    ConstSFUWideStringRef to     // 置換先の文字列
);

戻り値

置換した結果の文字列を返します。


SFUWideString::Rotate
文字列を回転します。
[ public ]
Void Rotate(
    SInt32 count   // 回転する数
);

戻り値

自分自身を返します。

解説

count に正の値を指定すると右に回転します。 count に負の値を指定すると左に回転します。

この関数は文字列オブジェクトに直接作用します。 変換元の文字列を保持したい場合は、 あらかじめコピーしておく必要があります。


SFUWideString::Substring
部分文字列を返します。
[ public, const ]
SFUWideString Substring(
    SInt32 begin   // 開始インデックス (この位置を含む)
    SInt32 end     // 終了インデックス (この位置を含まない)
);

解説

インデックス begin からインデックス end - 1 までの部分文字列を返します。 したがって、返される文字列の長さは end - begin になります。

begin が 0 以上かつ文字列の長さ未満でない場合、 end が 0 以上かつ文字列の長さ以下でない場合、 あるいは、begin が end よりも大きい場合は、 空文字列を返します。

使用例

SFUWideString str1("German");
SFUWideString str2 = str1.Substring(1, 5);  // str2 = "erma" になります。

SFUWideString::ToLower
文字列を小文字に変換します。
[ public ]
Void ToLower(Void);

戻り値

自分自身を返します。

解説

この関数は文字列オブジェクトに直接作用します。 変換元の文字列を保持したい場合は、 あらかじめコピーしておく必要があります。

参照

SFUWideString::ToUpper


SFUWideString::ToUpper
文字列を大文字に変換します。
[ public ]
Void ToUpper(Void);

戻り値

自分自身を返します。

解説

この関数は文字列オブジェクトに直接作用します。 変換元の文字列を保持したい場合は、 あらかじめコピーしておく必要があります。

参照

SFUWideString::ToLower


SFUWideString::Trim
文字列の両端から空白や任意の文字を削除します。
[ public, const ]
SFUWideString Trim(Void);
[ public, const ]
SFUWideString Trim(
    ConstSFUWideStringRef chars   // 削除する文字
);

解説

Trim() 関数は文字列の両端にある文字を削除して返します。 元の文字列は変更されません。

引数を指定しない場合は、文字列の両端にある空白 (スペース、タブ、垂直タブ、改行、復帰、フォームフィード) が削除されます。

Trim() 関数に引数を指定した場合は、 その文字列の各文字を両端から削除します。

使用例

SFUWideString str1("\\t delicious geek ");
SFUWideString str2 = str1.Trim();        // str2 = "delicious geek" になります。
SFUWideString str3 = str2.Trim("adek");  // str3 = "licious g" になります。

SFUWideString::operator=
文字列を代入します。
[ public ]
SFUWideStringRef operator=(
    ConstSFUWideStringRef string   
);

戻り値

自分自身を返します。

参照

SFUWideString::SFUWideString


SFUWideString::operator ConstWCharPtr
ConstWCharPtr にキャストします。
[ public, const ]
operator ConstWCharPtr(Void);

戻り値

このキャスト演算子は、文字列バッファが NULL でなければそのポインタを返し、 文字列バッファが NULL であれば空文字列へのポインタを返します。 したがって、NULL ポインタが返されることはありません。

参照

SFUWideString::GetRaw


SFUWideString::operator==
文字列が等しいか判定します。
[ public, friend ]
Bool operator==(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);
[ public, friend ]
Bool operator==(
    ConstSFUWideStringRef string1   
    ConstWCharPtr string2           
);
[ public, friend ]
Bool operator!=(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);
[ public, friend ]
Bool operator!=(
    ConstSFUWideStringRef string1   
    ConstWCharPtr string2           
);

参照

SFUWideString::Compare | SFUWideString::Equal


SFUWideString::operator>
文字列の大小を比較します。
[ public, friend ]
Bool operator>(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);
[ public, friend ]
Bool operator>=(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);

参照

SFUWideString::Compare | SFUWideString::operator<


SFUWideString::operator<
文字列の大小を比較します。
[ public, friend ]
Bool operator<(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);
[ public, friend ]
Bool operator<=(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);

参照

SFUWideString::Compare | SFUWideString::operator>


SFUWideString::operator-
末尾から文字列を削除します。
[ public, friend ]
SFUWideString operator-(
    ConstSFUWideStringRef string1   // 削除対象の文字列
    ConstSFUWideStringRef string2   // 末尾から削除する文字列
);
[ public ]
ConstSFUWideStringRef operator-=(
    ConstSFUWideStringRef string   // 末尾から削除する文字列
);

解説

string1 の末尾に string2 がある場合、 string1 から末尾の string2 を削除した文字列を返します。 string2 が末尾に存在しない場合は何もせずに string1 をコピーして返します。

使用例

SFUWideString str1("Goodbye World");
SFUWideString str2(" World");
SFUWideString str3 = str1 - str2;   // str3 = "Goodbye" になります。

参照

SFUWideString::operator+


SFUWideString::operator *
文字列をリピートします。
[ public, friend ]
SFUWideString operator *(
    ConstSFUWideStringRef string   // リピートする文字列
    SInt32 count                   // リピートする数
);
[ public ]
ConstSFUWideStringRef operator *=(
    SInt32 count   // リピートする数
);

使用例

次の例では # を 8 個連結した文字列を作成しています。

SFUAnsiStringb str("#");
str *= 8;

SFUWideString::operator+
文字列を連結します。
[ public, friend ]
SFUWideString operator+(
    ConstSFUWideStringRef string1   
    ConstSFUWideStringRef string2   
);
[ public ]
ConstSFUWideStringRef operator+=(
    ConstSFUWideStringRef string   
);

参照

SFUWideString::operator-