文字列を追加したい!

文字列の追加

文字列の追加とは、特定の文字列の後ろに別の文字列を追加することを指します。例えば通貨ペアの名称に拡張子を付与したり、メール本文の行末に改行コードを挿入する、というような場面で使用出来るのが今回紹介する関数となります。

文字列を追加するStringAdd関数

文字列を追加するには、MQL4で提供されているStringAdd関数を使用します。

bool StringAdd(
    string& string_var,         // string, to which we add
    string  add_substring       // string, which is added
);

引用元:StringAdd – MQL4 Reference

引数

string_var

第一引数のstring_varには追加される側の文字列を指定します。この引数は参照渡しとなり、引数として使用した変数の内容が直接書き換わる事になります。

add_substring

第二引数のadd_substringには追加する文字列を指定します。

戻り値

文字列の追加に成功した場合はtrue、それ以外の場合はfalseが返却されます。

使用例

string message = "chart symbol is ";
bool result = StringAdd(message, Symbol());

if (result)
{
    Alert(message);
}
実行結果
chart symbol is USDJPY

上記例では、messageという変数に格納された文字列の後ろにチャートの通貨ペア(Symbol関数で取得可能)を追加し、成功した場合はアラートで追加後の文字列を表示しています。

「+」による連結との違い

MQL4では文字列連結の方法として「+」を使用する方法も用意されていますが、StringAdd関数のように文字列の追加に成功したかどうかを判断することは出来ません。そのため、文字列の追加に成功した場合と失敗した場合で処理を分けたい場合はStringAdd関数を使用することになります。

StringConcatenate関数との違い

もう一つの文字列連結の方法としてStringConcatenate関数も用意されています。StringAdd関数では文字列の後ろに別の文字列を追加することしか出来ませんが、StringConcatenate関数では前後どちらにも別の文字列を追加することが出来ます。

まとめ

文字列を追加するにはStringAdd関数を使用する
文字列の追加に成功したかどうかを戻り値で判断することが可能
文字列の前に別の文字列を追加することは出来ない

参考URL

StringAdd – MQL4 Reference
https://docs.mql4.com/strings/stringadd