StringToShortArray 関数
この関数は、文字列を ushort型配列の指定した場所にコピーします。そしてコピーした要素数が取得されます。
ushort型の配列には Unicodeに対応した 10進数のコードが格納されることになります。
データ型と構成・戻り値
int StringToShortArray(①, ②, ③, ④);
戻り値は、コピーした要素数を返します。
引数 [4]
StringToShortArray関数は 4個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | text_string | string | - | - | コピー元の文字列。 |
② | array[] | uchar& | - | - | コピー先の配列(ushort型)。 |
③ | start | int | - | 0 | コピーを開始する位置。最初の値は 0からです。 |
④ | count | int | - | -1 | コピーする配列要素の数。 -1を設定すると③の開始位置から配列の終わりまでが対象になります。 |
使用例
StringToShortArray関数を使った ushort型配列へのコピー
コピー元の文字列を StringToShortArray関数でコピーして ushort型の配列に格納します。そして、その時にコピーした要素数(文字列数)と ushort型の配列に格納したコードを出力します。
コード
// StringToShortArray関数を使った ushort型配列へのコピー
#property strict
void OnInit() {
string str1 = "ユニコード"; // コピー元の文字列
string str2; // コピー先の文字列
ushort arr[]; // コピー先の配列
int e, i;
e = StringToShortArray(str1, arr); // コピーした要素数+配列へコピー
str2 = (string)arr[0];
for(i=1; i<e; i++) {
str2 = str2 + ", " + (string)arr[i];
}
Print("コピー要素数:", e);
Print("arr[", e, "]={ ", str2, " }"); // コピー先の配列状態
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
結果は Unicodeに対応した 10進数の値がコピー先の配列に格納されます。この逆の処理を ShortArrayToString関数のページで行なっていますので参考にしてください。
※コピー元の文字数が「ユニコード」の 5文字なので要素数が 5になるはずなのですが、何故か 6になります。