30 – STR$REPLACE
The Replace a Substring routine copies a source string to a
destination string, replacing part of the string with another
string. The substring to be replaced is specified by its starting
and ending positions.
Format
STR$REPLACE destination-string ,source-string ,start-position
,end-position ,replacement-string
30.1 – Corresponding JSB Entry Point
STR$REPLACE_R8
30.2 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
30.3 – Arguments
destination-string
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Destination string into which STR$REPLACE writes the new string
created when it replaces the substring. The destination-
string argument is the address of a descriptor pointing to the
destination string.
source-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Source string. The source-string argument is the address of a
descriptor pointing to the source string.
start-position
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference for CALL entry point, by value for JSB
entry point
Position in the source string at which the substring that
STR$REPLACE replaces begins. The start-position argument is the
address of a signed longword containing the starting position.
The position is relative to the start of the source string.
end-position
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference for CALL entry point, by value for JSB
entry point
Position in the source string at which the substring that
STR$REPLACE replaces ends. The end-position argument is the
address of a signed longword containing the ending position.
The position is relative to the start of the source string.
replacement-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Replacement string with which STR$REPLACE replaces the substring.
The replacement-string argument is the address of a descriptor
pointing to this replacement string. The value of replacement-
string must be equal to end-position minus start-position.
31 – STR$RIGHT
The Extract a Substring of a String routine copies a substring
ending at the last character of a source string into a
destination string.
Format
STR$RIGHT destination-string ,source-string ,start-position
31.1 – Corresponding JSB Entry Point
STR$RIGHT_R8
31.2 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
31.3 – Arguments
destination-string
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Destination string into which STR$RIGHT copies the substring.
The destination-string argument is the address of a descriptor
pointing to the destination string.
source-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Source string from which STR$RIGHT extracts the substring that it
copies into the destination string. The source-string argument is
the address of a descriptor pointing to the source string.
start-position
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference for CALL entry point, by value for JSB
entry point
Relative position in the source string at which the substring
that STR$RIGHT copies starts. The start-position argument is the
address of a signed longword containing the starting position.
32 – STR$ROUND
The Round or Truncate a Decimal String routine rounds or
truncates a decimal string to a specified number of significant
digits and places the result in another decimal string.
Format
STR$ROUND places ,flags ,asign ,aexp ,adigits ,csign ,cexp
,cdigits
32.1 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
32.2 – Arguments
places
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference
Maximum number of decimal digits that STR$ROUND retains in the
result. The places argument is the address of a signed longword
containing the number of decimal digits.
flags
OpenVMS usage:mask_longword
type: longword (unsigned)
access: read only
mechanism: by reference
Function flag. A value of 0 indicates that the decimal string is
rounded; a value of 1 indicates that it is truncated. The flags
argument is the address of an unsigned longword containing this
function flag.
asign
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by reference
Sign of the decimal input string to be rounded or truncated.
The asign argument is the address of an unsigned longword string
containing this sign. A value of 0 is considered positive; a
value of 1 is considered negative.
aexp
OpenVMS usage:longword_signed
type: longword (signed)
access: read only
mechanism: by reference
Power of 10 by which adigits is multiplied to get the absolute
value of the decimal input string. The aexp argument is the
address of a signed longword containing this exponent.
adigits
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Decimal input string. This is the string of digits to which asign
and aexp are applied. The adigits argument is the address of a
descriptor pointing to this numeric string. The string must be an
unsigned decimal number.
csign
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: write only
mechanism: by reference
Sign of the result. The csign argument is the address of an
unsigned longword containing the result's sign. A value of 0
is considered positive; a value of 1 is considered negative.
cexp
OpenVMS usage:longword_signed
type: longword (signed)
access: write only
mechanism: by reference
Power of 10 by which cdigits is multiplied to get the absolute
value of the result. The cexp argument is the address of a signed
longword containing this exponent.
cdigits
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Result's numeric text string. The cdigits argument is the address
of a descriptor pointing to this numeric string. The string is an
unsigned decimal number.
33 – STR$TRANSLATE
The Translate Matched Characters routine successively compares
each character in a source string to all characters in a match
string. If a source character has a match, the destination
character is taken from the translate string. Otherwise,
STR$TRANSLATE moves the source character to the destination
string.
Format
STR$TRANSLATE destination-string ,source-string
,translation-string ,match-string
33.1 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
33.2 – Arguments
destination-string
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Destination string. The destination-string argument is the
address of a descriptor pointing to the destination string.
source-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Source string. The source-string argument is the address of a
descriptor pointing to the source string.
translation-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Translate string. The translation-string argument is the address
of a descriptor pointing to the translate string.
match-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Match string. The match-string argument is the address of a
descriptor pointing to the match string.
34 – STR$TRIM
The Trim Trailing Blanks and Tabs routine copies a source string
to a destination string and deletes the trailing blank and tab
characters.
Format
STR$TRIM destination-string ,source-string [,resultant-length]
34.1 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
34.2 – Arguments
destination-string
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Destination string into which STR$TRIM copies the trimmed string.
The destination-string argument is the address of a descriptor
pointing to the destination string.
source-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Source string which STR$TRIM trims and then copies into the
destination string. The source-string argument is the address
of a descriptor pointing to the source string.
resultant-length
OpenVMS usage:word_unsigned
type: word (unsigned)
access: write only
mechanism: by reference
Number of bytes that STR$TRIM writes into destination-string,
not counting padding in the case of a fixed-length string. The
resultant-length argument is the address of an unsigned word
into which STR$TRIM writes the length of the output string.
If the input string is truncated to the size specified in the
destination-string description, resultant-length is set to
this size. Therefore, resultant-length can always be used by
the calling program to access a valid substring of destination-
string.
35 – STR$UPCASE
The Convert String to All Uppercase Characters routine converts a
source string to uppercase.
Format
STR$UPCASE destination-string ,source-string
35.1 – Returns
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
35.2 – Arguments
destination-string
OpenVMS usage:char_string
type: character string
access: write only
mechanism: by descriptor
Destination string into which STR$UPCASE writes the string it has
converted to uppercase. The destination-string argument is the
address of a descriptor pointing to the destination string.
source-string
OpenVMS usage:char_string
type: character string
access: read only
mechanism: by descriptor
Source string that STR$UPCASE converts to uppercase. The source-
string argument is the address of a descriptor pointing to the
source string.