Enterprise COBOL for z/OS, Version 4.2, Programming Guide

Handling null-terminated strings

COBOL supports null-terminated strings when you use string-handling verbs together with null-terminated literals and the hexadecimal literal X'00'.

You can manipulate null-terminated strings (passed from a C program, for example) by using string-handling mechanisms such as those in the following code:

01 L        pic X(20) value z'ab'.
01 M        pic X(20) value z'cd'.
01 N        pic X(20).
01 N-Length pic 99    value zero.
01 Y        pic X(13) value 'Hello, World!'.

To determine the length of a null-terminated string, and display the value of the string and its length, code:

Inspect N tallying N-length for characters before initial X'00'
Display 'N: ' N(1:N-length) ' Length: ' N-length

To move a null-terminated string to an alphanumeric string, but delete the null, code:

Unstring N  delimited by X'00' into X

To create a null-terminated string, code:

String Y      delimited by size
       X'00'  delimited by size
       into N.

To concatenate two null-terminated strings, code:

String L      delimited by x'00'
       M      delimited by x'00'
       X'00'  delimited by size
       into N.

related references  
Null-terminated alphanumeric literals (Enterprise COBOL Language Reference)

Rate this page

[ Index | Table of contents ]