トップ  >  リファレンス  >  基本  >  データ型  >  整数型  > 文字定数
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ
文字定数


MQL4の文字列型(string)の要素の1文字はUnicode文字集合です。

シングルクォーテーションで囲んだ1文字は文字定数です。
また、'\x10' のようにエスケープシーケンス(\)と16進数のASCIIコードで構成した場合も文字定数として扱われます。
文字定数はushort型として扱います。


例えば数字のゼロという1文字を表現する場合は、ASCIIコードの0に該当する0x30になるので、
'\x30'となります。

サンプルソース:
    string str_test;
    ushort temp_char;
    
    str_test = "";
    
    temp_char = '0';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // 0 を表示

    temp_char = '\x30';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // 0 を表示

    temp_char = 0x30;
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // 0 を表示



エスケープシーケンス(\)は制御文字を使用する為に使用します。
制御文字は文字列定数と文字定数で使用します。

シングルクォーテーション(')とダブルクォーテーション(")とYen記号(\)と制御文字を表現する場合、
エスケープシーケンスから始まる文字の組み合わせで使用します。

エスケープシーケンスの後に、以下表以外に記載されている内容以外の文字が続く場合コンパイルエラーになります。
またエスケープシーケンスのみの場合もコンパイルエラーになります。
文字名 ニーモニック
またはイメージ
MQL4で使用可能 数値
改行 LF '\n' 0x0a
水平タブ HT '\t' 0x09
キャリッジリターン CR '\r' 0x0d
\記号 \ '\\' 0x5c
シングルクォーテーション ' '\'' 0x27
ダブルクォーテーション " '\"' 0x22
16進数ASCII文字コード hhhh '\xhhhh' 0x0000 〜 0xFFFF
10進数ASCII文字コード d '\d' 0 〜 65535


サンプルソース:
    string str_test;
    ushort temp_char;
    
    str_test = "";
    
    temp_char = '\n';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // 改行

    temp_char = '\\';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // \ を表示

    temp_char = '\'';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // ' を表示

    temp_char = '\x0030';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // 0 (ASCIIコード_16進数:0x0030)を表示

    temp_char = '\48';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // 0 (ASCIIコード_10進数:48)を表示

    temp_char = '\a';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // エラー(ベル文字:MQL4では使用不可)

    temp_char = '\';
    StringSetCharacter(str_test,0,temp_char);
    Print(str_test);                  // エラー(エスケープシーケンスのみ)




スポンサーリンク



Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system