サンプルコード 一覧へ戻る

MQL5サンプルコード

【MT5(MQL5)サンプルコード】StringConcatenate

スポンサーリンク

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公式ページ

コメント

タイトルとURLをコピーしました