ヌル終了非数値リテラル
非数値リテラルを以下の形式で、ヌル終了することができます。
フォーマット >>-Z"--+--------------+--"------------------------------------------>< +-1 バイト文字-+ +-DBCS 文字----+ '-混合文字-----'
- Z"
- 非数値リテラルのヌル終了表記用の開始区切り文字。 (コンパイラー・オプション *APOST または PROCESS ステートメントのオプション APOST が指定される場合、左分離文字は Z' です。)ヌル終了リテラル (Z" または Z') の開始区切り文字の両方の文字は、同じソース行になければなりません。
- "
- 非数値リテラルのヌル終了表記用の終了区切り文字。 (コンパイラー・オプション *APOST または PROCESS ステートメントのオプション APOST が指定される場合、右分離文字は ' です。)
開始区切り文字で引用符が使用されている場合、それを終了区切り文字として使用する必要があります。同様に、開始区切り文字でアポストロフィが使用されている場合、それを終了区切り文字として使用する必要があります。
リテラルのコンテントは、1 バイトまたは 2 バイト文字、またはその両方を含むことができますが、値 X'00' を持つ 1 バイト文字を指定することはできません。 X'00' は、リテラルの最後に自動的に追加されるヌル文字です。その他の点では、リテラルのコンテントは混合リテラルと同じ規則と制約事項に従います。
リテラル・コンテントの 1 バイトまたは 2 バイト文字のストリングは、0 から 255 バイトの長さにすることができます。リテラルの実際の長さは、終了ヌル文字を含むため、最大長は 256 バイトになります。
ヌル終了非数値リテラルには、データ・クラスおよびカテゴリー英数字があります。ヌル終了非数値リテラルは、非数値リテラルを指定できるすべてのところで使用できますが、ヌル終了リテラルは、すべてのリテラル表意定数でサポートされるわけではありません。
ヌル終了リテラルを使用して、COBOL プログラムで外部または内部オブジェクトの名前 (プログラム名、ロケール名、ライブラリー名、プロシージャー名など) を指定しないでください。指定した場合、コンパイラーは終了ヌル文字を文字 "0" で置換し、重大度 20 のエラー・メッセージが発行され、ユーザーにこの置換が通知されます。
LENGTH 組み込み関数は、ヌル終了リテラルに適用された場合、終了ヌルを含まないそれより前のリテラル内のバイト数を戻します。(LENGTH 特殊レジスターは、リテラル・オペランドをサポートしません。)
