AnsiStringではAnsiCompare()を使用します。
AnsiString s = "abc";
s.AnsiCompare("ABC");
std::stringではcompare()を使用します。
std::string s = "abc";
s.compare("ABC");
AnsiStringではAnsiCompareIC()を使用します。
AnsiString s = "abc";
s.AnsiCompareIC("ABC");
std::stringでは、stricmp()関数を使用します。
std::string s = "abc";
stricmp(s.c_str(), "ABC");
AnsiStringとstd::stringともに、c_str()を使用します。
AnsiString s = "abc";
s.c_str();
std::string s = "abc";
s.c_str();
AnsiStringではLength()を使用します。
AnsiString s = "abc";
s.Length();
std::stringではsize()を使用します。
std::string s = "abc";
s.size();
AnsiStringではIsEmpty()を使用します。
AnsiString s = "abc";
s.IsEmpty(); //=> false
std::stringではempty()を使用します。
std::string s = "abc";
s.empty(); //=> false
AnsiStringではInsert()を使用します。
AnsiString s = "abc";
s.Insert("ABC", 2); //=> aABCbc
AnsiString s = "あいう";
s.Insert("アイウ", 3); # => あアイウいう
std::stringではinsert()を使用します。
std::string s = "abc";
s.insert(2, "ABC"); //=> abABCc
std::string s = "あいう";
s.insert(2, "アイウ"); //=> あアイウいう
引数の開始位置はどちらもバイト数。
AnsiStringは開始位置は1から始まる。std::stringは0から。
AnsiStringではDelete()を使用します。
AnsiString s = "abcde";
s.Delete(2, 2); //=> ade
AnsiString s = "あいうえお";
s.Delete(3, 2); //=> あうえお
std::stringではerase()を使用します。
std::string s = "abcde";
s.erase(2, 2); //=> abe
std::string s = "あいうえお";
s.erase(2, 2); //=> あうえお
引数の開始位置と文字数はどちらもバイト数。
AnsiStringは開始位置は1から始まる。std::stringは0から。
AnsiStringではAnsiPos()を使用します。
部分文字列の先頭のインデックス(バイト数)を返します。
部分文字列が含まれていない場合は0を返します。
AnsiString s = "abcde";
s.AnsiPos("bc"); //=> 2
s.AnsiPos("fg"); //=> 0
AnsiString s = "あいうえお";
s.AnsiPos("いう"); //=> 3
s.AnsiPos("かき"); //=> 0
std::stringではfind()を使用します。
部分文字列の先頭のインデックスを返します。
部分文字列が含まれていない場合はstd::string::nposを返します。
std::string s = "abcde";
s.find("bc"); //=> 1
s.find("fg"); //=> std::string::npos
std::string s = "あいうえお";
s.find("いう"); //=> 2
s.find("かき"); //=> std::string::npos
std::wstring s = L"あいうえお";
s.find(L"いう"); //=> 1
s.find(L"かき"); //=> std::string::npos
AnsiStringではSubString()を使用します。
AnsiString s = "abcde";
s.SubString(2, 2); //=> bc
AnsiString s = "あいうえお";
s.SubString(3, 2); //=> い
std::stringではsubstr()を使用します。
std::string s = "abcde";
s.substr(2, 2); //=> cd
std::string s = "あいうえお";
s.substr(2, 2); //=> い
AnsiStringではUpperCase()を使用します。
AnsiString result = S.UpperCase();
同名の関数も用意されています。
AnsiString result = UpperCase(S);
std::stringではtransformとtoupperを使用します。
std::string result;
std::transform(S.begin(), S.end(), std::back_inserter(result), toupper);