Stores the null-terminated value of a CHARACTER
or LONGCHAR expression at the specified memory location. If numbytes is
specified, PUT-STRING will copy the requested number of bytes from
the variable, regardless of whether there are embedded nulls. In
this case PUT-STRING will not put a terminating null into the MEMPTR
unless the last byte copied happens to be a null.
Syntax
PUT-STRING ( destination , position , [numbytes] ) = expression
|
-
destination
- A variable of type RAW or MEMPTR. If destination is
the Unknown value (?), it remains the Unknown value (?).
If destination is a MEMPTR and its region is
not allocated (by a SET-SIZE statement or by a Windows dynamic link
library (DLL) or UNIX shared library routine), the AVM generates
a run-time error.
-
position
- An integer value greater than 0 that indicates the byte position
where the AVM stores expression. If position is
less than 1, the AVM generates a run-time error.
For a RAW destination,
if position is greater than the length of destination,
the AVM increases the length of destination to position plus the
remaining bytes needed to store expression. The
gap between the original destination length and position is
padded with null bytes.
For a MEMPTR destination,
if position is greater than the length of destination or
does not leave sufficient room to store expression,
the AVM generates a run-time error.
-
numbytes
- An integer value greater than 0 that indicates how many bytes
to copy from expression. If position plus numbytes is
greater than the length of destination, the AVM
generates a run-time error.
-
expression
- An expression (a constant, field name, variable name, or expression) whose
value is a CHARACTER or LONGCHAR. The AVM converts a LONGCHAR value
to -cpinternal before it stores the value.
Notes
- For
examples of how to use the PUT-STRING statement, see the PUT-BYTE statement reference
entry.
- For more information on accessing DLL and UNIX shared library routines
from ABL, see OpenEdge Development: Programming Interfaces.