- Alert
- CheckPointer
- Comment
- CryptEncode
- CryptDecode
- DebugBreak
- ExpertRemove
- GetPointer
- GetTickCount
- GetTickCount64
- GetMicrosecondCount
- MessageBox
- PeriodSeconds
- PlaySound
- PrintFormat
- ResetLastError
- ResourceCreate
- ResourceFree
- ResourceReadImage
- ResourceSave
- SetReturnError
- SetUserError
- Sleep
- TerminalClose
- TesterHideIndicators
- TesterStatistics
- TesterStop
- TesterDeposit
- TesterWithdrawal
- TranslateKey
- ZeroMemory
PrintFormat
事前に定義された形式に従ってシンボルと値のセットをフォーマットとし、エキスパートアドバイザーのログに入力します。
void PrintFormat(
|
パラメータ
format_string
[in] フォーマット文字列は、簡単な記号で構成され、引数が続いている場合、引数内にフォーマットの仕様が含まれています。
...
[in] コンマで区切られた任意の基本データ型の値パラメータの数はフォーマットされる文字列を含んで 64 を超えることは出来ません。
戻り値
文字列
注意事項
PrintFormat() 関数はストラテジーテスターでの最適化中には使用できません。
パラメータの数、順序、及び型は正確に一連の修飾子と一致しなければなりません。さもないと、プリント結果は未定義になります。PrintFormat() の代わりに printf() の使用が可能です。
フォーマット文字列にパラメータが続く場合、この文字列には、これらのパラメータの出力フォーマットを示すフォーマットの仕様が含まれている必要があります。形式の仕様は、常にパーセント記号 (%) で始まります。
フォーマット文字列は左から右に読み込まれます。最初の形式仕様(もしあれば)が満たされると、フォーマット文字列の後にくる最初のパラメータの値は、予め設定された仕様に従って変換して出力されます。2 番目の形式仕様は変換を呼び出し2 番目のパラメータを出力し、というようにフォーマット文字列が終わるまでプロセスされます。
形式仕様の形式は次の通りです。
%[ フラグ ][ 幅 ][ .精度 ][{h | l | ll | I32 | I64}] 型
形式仕様の各フィールドは、単純なシンボル、または単純なフォーマットオプションを表す番号のどちらかです。最も単純な形式の仕様は、パーセント記号(%)と 出力パラメータの種類 (例えば %s)を定義するシンボルが含まれています。フォーマット文字列中にパーセント記号が必要な場合は、形式仕様 %% を使用します。
フラグ
フラグ |
説明 |
デフォルト動作 |
---|---|---|
– (minus) |
セット幅内の左寄せ。 |
右寄せ。 |
+ (plus) |
符号付型の値の + または - 符号を出力します。 |
符号は値が負の場合のみ表示されます。 |
0 (zero) |
ゼロは事前に定義された幅内で出力値の前に追加されます。0 フラグが整数形式で指定され( i、u、x、X、o、d)精度仕様が設定されている場合(例えば %04.d )、0 は無視されます。 |
何も追加されません。 |
space |
符号が正の値である場合、出力値の前にスペースが示されています。 |
スペースは挿入されません。 |
# |
フォーマットo、x または X と使用された場合、出力値の前に 0、0x または 0X がそれぞれ追加されます。 |
何も追加されません。 |
|
フォーマット e、E、a または A と使用された場合、値は常に小数点で表示されます。 |
小数点はゼロ以外の小数部がある場合にのみ表示されます。 |
|
フォーマット g または G と使用された場合、フラグは、出力値の小数点の存在を定義し、先行ゼロの削除を防ぐことが出来ます。 フラグ # はフォーマット c、d、i、u 及び s と使用された場合には無視されます。 |
小数点はゼロ以外の小数部がある場合にのみ表示されます。先行のゼロは削除されます。 |
幅 #
フォーマットされた値の出力記号の最小数を設定する負でない 10 進数です。出力シンボルの数が指定された幅よりも小さい場合、対応する数のスペースが、アライメントに応じて左または右から追加されます( - フラグ)。ゼロフラグ( 0 )が存在する場合、対応する数のゼロが出力値の前に追加されます。出力シンボルの数が指定された幅よりも大きい場合、出力値は絶対に切られません。
アスタリスク(*)が幅として指定された場合、整数型の値が渡されたパラメータのリストの対応する場所に示されている必要があります。この値は出力値の幅を指定するのに使用されます。
精度 #
小数点以下の桁数として出力精度を設定する、負でない小数です 。幅仕様とは異なり、精度仕様は、丸めのあるなしにかかわらず小数型の一部を切断することが出来ます。
精度仕様の使用は、フォーマッとの種類によって異なります。
種類 |
説明 |
デフォルト桁数 |
---|---|---|
a, A |
精度仕様が小数点以下の桁数を設定します。 |
6。 |
c, C |
使用されません。 |
|
d, i, u, o, x, X |
出力桁の最小数を設定します。対応するパラメータの桁数がこの精度よりも小さい場合、ゼロが出力値の左側に追加されます。出力桁数が指定された精度よりも大きい場合、出力値は短縮されません。 |
1。 |
e, E, f |
小数点以下の出力桁数を設定します。最後の数字は四捨五入されます。 |
6。設定精度が 0 であるか、小数部が存在しない場合には、小数点以下は表示されません。 |
g, G |
有効数字の最大数を設定します。 |
6。 |
s, S |
文字列の出力シンボルの数を設定します。文字列の長さが精度を超えた場合、文字列が短くされます。 |
全体の文字列が出力されます。 |
h | l | ll | I32 | I64
パラメータとして渡されたデータサイズの指定を指定します。
パラメータ型 |
使用するプレフィックス |
型のジョイント指定子 |
---|---|---|
int |
l (小文字の L ) |
d、i、o、x または X |
uint |
l (小文字の L ) |
o、u、x または X |
long |
ll (小文字の L が二つ)< |
d、i、o、x または X |
short |
h |
d、i、o、x または X |
ushort |
h |
o、u、x または X |
int |
I32 |
d、i、o、x または X |
uint |
I32 |
o、u、x または X |
long |
I64 |
d、i、o、x または X |
ulong |
I64 |
o、u、x または X |
型 #
型指定子は、フォーマットされた出力のための唯一の必須フィールドです。
Symbol |
Type |
出力フォーマット |
---|---|---|
c |
int |
short 型のシンボル (Unicode)。 |
C |
int |
char 型のシンボル (ANSI)。 |
d |
int |
符号付き 10 進整数。 |
i |
int |
符号付き 10 進整数。 |
o |
int |
符号なし 8 進整数。 |
u |
int |
符号なし 10 進整数。 |
x |
int |
「abcdef」を使用した符号なし 16 進整数。 |
X |
int |
「ABCDEF」を使用した符号なし 16 進整数。 |
e |
double |
[-] d.dddde[sign] ddd のフォーマットを持った実数で、d は 1 つの 10 進整数、dddd は 1 つ以上の 10 進整数で ddd は 3 桁の数で、指数の大きさとプラスマイナスのサインを決めます。 |
E |
double |
指数の符号が大文字で出力されている以外は e のフォーマットと似ています( e の代わりにE )。 |
f |
double |
[-] dddd.dddd のフォーマットを持った実数。ここで dddd は 1 つ以上の 10 進整数です。小数点の前の表示桁数は、数値のサイズによって異なります。小数点以下の桁数は、必要な精度に依存します。 |
g |
double |
どちらの表記がよりコンパクトになるかに応じて f または e フォーマットで出力された実数。 |
G |
double |
どちらの表記がよりコンパクトになるかに応じて F または E フォーマットで出力された実数。 |
a |
double |
[−]0xh.hhhh p±dd フォーマットを持った実数で、h.hhhh が 「abcdef」を使用した 16 進数の仮数部で、dd が1桁以上の指数。小数点以下の桁数は、精度仕様によって決定されます。 |
A |
double |
[−]0xh.hhhh P±dd フォーマットを持った実数で、h.hhhh が 「abcdef」を使用した 16 進数の仮数部で、dd が1桁以上の指数。小数点以下の桁数は、精度仕様によって決定されます。 |
s |
string |
文字列出力 |
PrintFormat() の代わりに printf() の使用が可能です。
例:
void OnStart() |
参照