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

MQL5サンプルコード

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

スポンサーリンク

MT4(MQL4)/MT5(MQL5)のStringCompare

 2 つの文字列の大小を比較します。

int  StringCompare(
  const string&  string1,                 // 比較される1 番目の文字列
  const string&  string2,                 // 比較される2 番目の文字列
  bool          case_sensitive=true      // 比較時の大文字と小文字の区別モードの選択
  );

各コードページ(MQLの中の文字コードのようなもの)のアルファベット順に比較されます。(デフォルトはWindowsのANSI)

他にもMT5で使用されるコードページを見たい方はこちら(公式ページ)

MT4→MT5になっても変わらず使えます。

大文字小文字を区別する case_sensitive の初期値はtrue(区別する)です。

【戻り値】
string1 < string2 の場合は -1
string1 = string2 の場合は 0
string1 > string2 の場合は 1

サンプルコード

void OnInit()  
{

   string testa = "a";
   string testb = "b";
   
   Print("StringCompare(testa,testa) aとaを比較:"); 
   Print(StringCompare(testa,testa)); 
   Print("-----");
   Print("StringCompare(testa,testb) aとbを比較:");
   Print(StringCompare(testa,testb));
   Print("-----");
   Print("StringCompare(testb,testa) bとaを比較:");
   Print(StringCompare(testb,testa));
   
   Print("-----");
   Print("-----");
   
   string testA = "A";
   Print("StringCompare(testa,testA,false) aとAを比較(大文字小文字を区別しない):");
   Print(StringCompare(testa,testA,false)); 
   Print("-----");   
   Print("StringCompare(testa,testA,true) aとAを比較(大文字小文字を区別する):"); 
   Print(StringCompare(testa,testA,true));   Print("-----");
   
   Print("StringCompare(testa,testA) aとAを比較(大文字小文字の区別を指定しない):");
   Print(StringCompare(testa,testA));
   
   return;

}

結果

StringCompare(testa,testa) aとaを比較:
0
-----
StringCompare(testa,testb) aとbを比較:
-1
-----
StringCompare(testb,testa) bとaを比較:
1
-----
StringCompare(testa,testA,false) aとAを比較(大文字小文字を区別しない):
0
-----
StringCompare(testa,testA,true) aとAを比較(大文字小文字を区別する):
-1
-----
StringCompare(testa,testA) aとAを比較(大文字小文字の区別を指定しない):
-1

コメント

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