前のページ次のページ上に戻るホーム SophiaFramework 2.1
SFUAnsiString
AChar 文字列を表すクラスです。
#include <SFUAnsiString.hpp>
class SFUAnsiString;
typedef SFUAnsiString&          SFUAnsiStringRef;
typedef SFUAnsiString*          SFUAnsiStringPtr;
typedef SFUAnsiString**         SFUAnsiStringHandle;
typedef const SFUAnsiString     ConstSFUAnsiString;
typedef const SFUAnsiString&    ConstSFUAnsiStringRef;
typedef const SFUAnsiString*    ConstSFUAnsiStringPtr;
typedef const SFUAnsiString**   ConstSFUAnsiStringHandle;

解説

SFUAnsiString は AChar の文字列を表すクラスです。

参照

SFUWideString

メンバ

コンストラクタ/デストラクタ
public
SFUAnsiString SFUAnsiString クラスのコンストラクタです。
public
~SFUAnsiString SFUAnsiString クラスのデストラクタです。
パブリック関数
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
StartWith 文字列の先頭に指定された文字列があるか判定します。
public
Substring 部分文字列を返します。
public
ToLower 文字列を小文字に変換します。
public
ToSInt 文字列を SInt32 型に変換します。
public
ToUInt 文字列を UInt32 型に変換します。
public
ToUpper 文字列を大文字に変換します。
public
Trim 文字列の両端から空白や任意の文字を削除します。
public
operator * 文字列をリピートします。
public
operator ConstACharPtr ConstACharPtr にキャストします。
public
operator+ 文字列を連結します。
public
operator- 末尾から文字列を削除します。
public
operator< 文字列の大小を比較します。
public
operator= 文字列を代入します。
public
operator== 文字列が等しいか判定します。
public
operator> 文字列の大小を比較します。

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

解説

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

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

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

参照

SFUAnsiString::operator=


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

解説

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


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

解説

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

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

参照

SFUAnsiString::GetRaw


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

戻り値

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


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

戻り値

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

参照

SFUAnsiString::Length


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

戻り値

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

参照

SFUAnsiString::StartWith


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

参照

SFUAnsiString::operator==


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

解説

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

使用例

*** 使用例 ***

SIntN year = 2003;
SIntN month = 8;
SFUAnsiString str = SFUAnsiString::Format("%d月%d日", year, month);

参照

BREW API VSNPRINTF


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

解説

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

参照

BREW API VSNPRINTF


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

解説

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

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

参照

SFUAnsiString::Clone | SFUAnsiString::operator ConstACharPtr


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

解説

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

参照

SFUAnsiString::LastIndexOf


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

戻り値

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

解説

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

参照

SFUAnsiString::IndexOf


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

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

戻り値

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


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

戻り値

自分自身を返します。

解説

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

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


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

戻り値

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

参照

SFUAnsiString::EndWith


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

解説

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

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

使用例

SFUAnsiString str1("American");
SFUAnsiString str2 = str1.Substring(2, 6);  // str2 = "eric" になります。

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

戻り値

自分自身を返します。

解説

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

参照

SFUAnsiString::ToUpper


SFUAnsiString::ToSInt
文字列を SInt32 型に変換します。
[ public, const ]
SInt32 ToSInt(
    SInt32 alt = 0   // 変換失敗時の値
);

解説

文字列を SInt32 型に変換します。変換できなかった場合は alt に指定した値を返します。

参照

SFUAnsiString::ToUInt


SFUAnsiString::ToUInt
文字列を UInt32 型に変換します。
[ public, const ]
UInt32 ToUInt(
    UInt32 alt = 0   // 変換失敗時の値
);

解説

文字列を UInt32 型に変換します。変換できなかった場合は alt に指定した値を返します。

参照

SFUAnsiString::ToSInt


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

戻り値

自分自身を返します。

解説

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

参照

SFUAnsiString::ToLower


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

解説

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

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

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

使用例

SFUAnsiString str1("\\t delicious beef ");
SFUAnsiString str2 = str1.Trim();        // str2 = "delicious beef" になります。
SFUAnsiString str3 = str2.Trim("adef");  // str3 = "licious b" になります。

SFUAnsiString::operator=
文字列を代入します。
[ public ]
SFUAnsiStringRef operator=(
    ConstSFUAnsiStringRef string   
);

戻り値

自分自身を返します。

参照

SFUAnsiString::SFUAnsiString


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

戻り値

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

参照

SFUAnsiString::GetRaw


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

参照

SFUAnsiString::Compare | SFUAnsiString::Equal


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

参照

SFUAnsiString::Compare | SFUAnsiString::operator<


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

参照

SFUAnsiString::Compare | SFUAnsiString::operator> |


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

解説

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

使用例

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

参照

SFUAnsiString::operator+


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

使用例

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

SFUAnsiStringb str("*");
str *= 10;

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

参照

SFUAnsiString::operator-