【MQL5】StringAdd関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

StringAdd関数の働き・役割

StringAdd関数は、指定した文字列を別の文字列の末尾に追加するために使用されます。

この関数は、既存の文字列に新しい文字列を追加する場合に役立ちます。

例えば、ログメッセージの作成や、複数の文字列を一つにまとめる場合などに利用できます。

StringAdd関数の引数について

StringAdd関数は以下の2つの引数を取ります:

bool StringAdd(string& string_var, const string add_substring);
  1. string_var([in][out]):追加する対象の文字列
  2. add_substring([in]):追加する文字列

StringAdd関数の戻り値について

StringAdd関数は、操作が成功した場合にtrueを返し、失敗した場合にはfalseを返します。失敗した場合のエラーコードはGetLastError関数を使用して取得できます。

GetLastError関数についての詳細は↓の記事をご参照ください。

StringAdd関数を使う際の注意点

  • StringAdd関数は、メモリの再割り当て(既存のメモリ領域が不足した場合に、新しい大きなメモリ領域を確保してデータを移動すること)や文字列のコピーを行わないように最適化されていますが、これは対象文字列バッファサイズ(データを一時的に保存するためのメモリ領域のサイズ)が十分な場合に限られます。
  • 追加する文字列が大きすぎる場合、メモリの再割り当てが発生し、パフォーマンスに影響を与える可能性があります。

StringAdd関数を使ったサンプルコード

以下は、StringAdd関数を使って文字列を追加するサンプルコードです。

// スクリプトの実行開始時に自動的に呼び出されるOnStart関数
void OnStart()
{
    // 追加する対象の文字列を定義
    string baseString = "こんにちは、";
    
    // 追加する文字列を定義
    string addString = "世界!";
    
    // StringAdd関数を使用して文字列を追加
    if (StringAdd(baseString, addString))
    {
        // エキスパートログに結果を出力
        Print("結果の文字列: ", baseString);
    }
    else
    {
        // エキスパートログにエラーメッセージを出力
        Print("文字列の追加に失敗しました。エラーコード: ", GetLastError());
    }
}

サンプルコードに使われた関数や文法要素の簡単な解説

このサンプルコードでは、StringAdd関数を使用して「こんにちは、」という文字列の末尾に「世界!」を追加しています。成功すると、結果の文字列がエキスパートログに出力されます。

<参照>

StringBufferLen関数/StringCompare関数/StringLen関数/StringConcatenate関数/StringFill関数/StringInit関数/StringFind関数/StringGetCharacter関数/StringSetLength関数/StringReplace関数/StringReserve関数/StringSetCharacter関数/StringSplit関数/StringSubstr関数/StringToLower関数/StringToUpper関数/StringTrimLeft関数/StringTrimRight関数

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