MT4(MQL4)/MT5(MQL5)のStringConcatenate
渡されたパラメータを文字列として結合し、そのサイズを返します。
int StringConcatenate(
string& string_var, // 形成する文字列
void argument1 // 任意の基本データ型を持つ1 番目のパラメータ
void argument2 // 任意の基本データ型を持つ2 番目のパラメータ
... // 任意の基本データ型を持つ次のパラメータ
);
パラメータは2~63個まで渡せます。
MT4→MT5で挙動が変わっています。
MT4とMT5で挙動が違う
StringConcatenateはMT4とMT5で挙動が違います。
MT4は結合した文字列が戻り値でしたが、MT5では結合した文字列を最初のパラメータに格納し、関数自体の戻り値には文字列のサイズを返します。
サンプルコードでMT4とMT5の比較をしてみます。
サンプルコード
void OnInit()
{
string mojia = "aaa";
string mojib = "bbb";
string concmojiretsu;
//MT4→concmojiretsuにmojia,"-",mojibを結合した文字列が格納される。
//MT5→mojiaに"-",mojibを結合した文字列が格納される。concmojiretsuには結合した文字列のサイズがセットされる。
concmojiretsu = StringConcatenate(mojia,"-",mojib);
Print("mojia = ",mojia);
Print("concmojiretsu = ",concmojiretsu);
return;
}
結果(MT4)
mojia = aaa
concmojiretsu = aaa-bbb
結果(MT5)
mojia = -bbb
concmojiretsu = 4
ちょっと癖のある使い方に変わりました。
【参考】MQL5公式ページ
コメント / Comments