%STR(ポインター:長さ) は、式の左側で使用されると、式の右側の値を、 ポインターによって指し示されている記憶域に割り当て、最後にヌル文字 終了記号のバイトを追加します。 指定可能な最大長は 65535 です。これは、最後に ヌル文字終了記号用に 1 バイトを予約しておく必要があるので、最高でも、右側の 65534 バイトが使用可能であるということです
この長さは、ポインターが指し示す記憶域の量を示します。また、この長さは、右側にある最大長より長くなければなりません。 ポインターは、少なくとも長さパラメーターと同じ長さの記憶域を 指し示すように設定する必要があります。 式の右側の長さが指定された長さより長い場合、その右側の値は切り捨てられます。
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+.... D String1 S * D Fld1 S 10A /FREE %str(String1: 25)= 'abcdef'; // The storage pointed at by String1 now contains 'abcdef¬' // Bytes 8-25 following the null-terminator are unchanged. %str (String1: 4) = 'abcdef'; // The storage pointed at by String1 now contains 'abc¬' /END-FREE
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.