文字列クラスとは ?
文字列クラス とは、文字列操作を簡単に行うための C++ クラスです。 BREW API を使用した C 言語プログラミングでは、このようなクラスが存在しないため、 開発者は文字列ポインタを直接操作する必要があります。
SophiaFramework には、char 文字列を扱う SFXAnsiString クラスと、BREW のワイド文字列を扱う SFXWideString クラスが用意されています。
SophiaFramework の文字列クラスを使用すると、以下の操作を簡単に行えます。
- 文字列の比較
- 文字列の連結
- 文字列長の取得
- char 文字列とワイド文字列の変換
- 文字列の書式化
[ BREW API のみを使用したコード ]
// // BREW API のみを使用した文字列操作 //
AECHAR helloWorld[16] = {0}; int result = 0; int helloLen = 0; int worldLen = 0;
// 文字列を初期化します。 AECHAR hello[] = {'H','e','l','l','o', '\0'}; AECHAR world[] = {'W','o', 'r', 'l', 'd', '\0'};
// 文字列を連結します。 WSTRCAT(helloWorld, hello); WSTRCAT(helloWorld, world);
// 文字列を比較します。 result = WSTRCMP(hello, world); if (result < 0) { DBGPRINTF("*** world is bigger ***"); } else if (0 < result) { DBGPRINTF("*** hello is bigger ***"); } else { DBGPRINTF("*** hello is the same as world ***"); }
// 文字列の長さを取得します。 helloLen = WSTRLEN(hello); worldLen = WSTRLEN(world);
[ SophiaFramework を使用したコード ]
// // SophiaFramework の文字列クラスを使用した文字列操作 //
SFXWideString helloWorld; SInt32 helloLen = 0; SInt32 worldLen = 0;
// 文字列を初期化します。 SFXWideString hello("Hello"); SFXWideString world("World");
// 文字列を連結します。 helloWorld += hello; helloWorld += world;
// 文字列を比較します。 if (hello < world) { DBGPRINTF("*** world is bigger ***"); } else if (hello > world) { DBGPRINTF("*** hello is bigger ***"); } else { DBGPRINTF("*** hello is the same as world ***"); }
// 文字列の長さを取得します。 helloLen = hello.GetLength(); worldLen = world.GetLength();