MQL4MQL5 型変換
StringToCharArray()
- できること
- 文字列をバイトの配列に変換する
- 対応
- MQL4・MQL5
StringToCharArray() とは
文字列を、指定した文字コードの char(uchar)の配列に変換する関数です。WebRequest() で POST するデータを作るときに使います。
StringToCharArray() の書式と引数
int StringToCharArray(
string text_string,
uchar &array[],
int start=0,
int count=-1,
uint codepage=CP_ACP
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
text_string | string | 必須 | 変換する文字列。 |
array | uchar &[] | 必須 | 結果を受け取る配列。 |
start | int | 0 | 配列に書き込み始める位置。 |
count | int | -1 | 変換する文字数。-1 なら最後まで(終わりの 0 も含む)。 |
codepage | uint | CP_ACP | 文字コード。CP_ACP、CP_UTF8 など。 |
戻り値
配列に書き込んだ要素の数。
StringToCharArray() の使い方(コード例)
MQL4・MQL5 共通
uchar data[];
int n = StringToCharArray("{\"text\":\"hello\"}", data, 0, -1, CP_UTF8);
ArrayResize(data, n - 1); // 終わりの 0 を除く
Print("送信データ ", ArraySize(data), " バイト");OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
StringToCharArray() の注意点
- count が -1 のときは、文字列の終わりを表す 0 も配列に入ります。WebRequest の本文に使うときは、最後の 0 を除くために ArrayResize(配列, 戻り値 - 1) とすることがあります。












