copyStr()

システム関数 StrLib.copyStr は、あるサブストリングを別のサブストリングにコピーします。

  StrLib.copyStr(
    target a character type inOut,
    targetSubstringIndex INT in,
    targetSubstringLength INT in,
    source a character type in,
    sourceSubstringIndex INT in,
    sourcetSubstringLength INT in)
target
ターゲット・サブストリングの派生元のストリング。 項目またはリテラルを使用できます。
targetSubstringIndex
target の先頭バイトの値が 1 である 場合に、target の開始バイトを識別する。 この指標には、整数リテラルを使用できます。 または、この指標には、INT 型または長さが 9 で小数部がない BIN 型と同等と定義された項目を使用できます。
targetSubstringLength
target から派生するサブストリングのバイト数を識別する。 長さは整数リテラルとすることができます。または、長さは、INT 型または長さが 9 で小数部がない BIN 型と同等と定義された項目とすることができます。
source
ソース・サブストリングの派生元のストリング。 項目またはリテラルを使用できます。
sourceSubstringIndex
source の先頭バイトの値が 1 である 場合に、source のサブストリングの開始バイトを識別する。 この指標には、整数リテラルを使用できます。 または、この指標には、INT 型または長さが 9 で小数部がない BIN 型と同等と定義された項目を使用できます。
sourceSubstringLength
source から派生するサブストリングのバイト数を識別する。 長さは整数リテラルとすることができます。または、長さは、INT 型または長さが 9 で小数部がない BIN 型と同等と定義された項目とすることができます。

ソースがターゲットよりも長い場合は、ソースが切り捨てられます。ソースがターゲットよりも短い場合は、ソースの値の右側にスペースが埋め込まれます。

定義に関する考慮事項

以下の値が sysVar.errorCode で戻されます。
8
指標が 1 より小さいか、ストリングの長さよりも大きい。
12
長さが 1 より小さい。
20
無効な 2 バイト指標である。DBCHAR ストリングや UNICODE ストリングの指標が、2 バイト文字の中間を指しています。
24
無効な 2 バイトの長さである。DBCS ストリングや UNICODE ストリングの長さを示すバイト数が、奇数になっています (2 バイト文字の長さは常に偶数になります)。

  target = "120056";
  source = "34";
  StrLib.copyStr(target,3,2,source,1,2);
  // target = "123456"

関連リファレンス
EGL ライブラリー StrLib

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.