普通の文字列(char*)にしたいとき
vectorに放り込むときとかに。
BuilderなんでAnsiString前提感はあります。
01.cpp
UnicodeString hoge = "aiueo";
char* ch = "";
strcpy(ch, AnsiString(hoge).c_str()); // ch には "aiueo"が入る
検索するとき
AnsiStringだとfind() UnicodeStringはPos()
ちなみにfindのreturnはunsignedです。警告にお気をつけを。
std::string.find()もsize_tなので警告注意です。見つからない場合はstd::string::nposです。
unsigned int を別個作るとかそんな感じで。
02.cpp
UnicodeString hoge = "aiueo";
int ret = 0;
ret = hoge.Pos("u"); // ret = 3
ret = hoge.Pos("ue"); // ret = 3
ret = hoge.Pos("uo"); // ret = 0
float変換するとき
03.cpp
UnicodeString hoge = "3.141";
float ret = 0;
ret = hoge.ToDouble();
hoge = FloatToStrF(ret, ffFixed, 7, 3);
UnicodeStringにしたいとき
TCHARでよくね感はあります
04.cpp
UnicodeString hoge = "";
AnsiString hoge2 = "aiueo";
std::string hoge3 = "kakikukeko";
hoge = UnicodeString(hoge2.c_str());
hoge = UnicodeString(hoge3.c_str());
数字をUnicodeStringに入れる
なんとそのまま入ります
04.cpp
int n = 20;
UnicodeString hoge = n;
参考