LoginSignup
2

More than 5 years have passed since last update.

C++ UnicodeStringでchar*変換とか検索とかfloat変換とか

Last updated at Posted at 2016-05-26

普通の文字列(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;

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2