CRE Programmer's Guide
String and Memory Block Functions
Common Run-Time Environment (CRE) Programmer’s Guide—528146-004
8-30
Strtoul
•
If base is greater than 1 and less than or equal to 36, it specifies the radix of 
the string of characters at 
str. For values of base greater than 10, the letter A 
represents 10, the letter B represents 11, and so forth, through the letter Z 
which represents 35. Strtol treats uppercase and lowercase alphabetic 
characters in 
str interchangeably.
•
If base is less than 0, equal to 1, or greater than 36, the Strtol functions do not 
convert 
str. They return zero and end_scan points to the same location as 
str.
Return Value
The Strtol functions return the converted value.
Considerations
•
str must be terminated by a zero (null) byte to stop the scan.
•
Leading white space is skipped.
•
str is a string of digits, optionally preceded by a sign.
•
Scanning stops if a character is encountered that is not valid for base.
Example
STRING .s[0:7] := ["21B43",0];
STRING .end;
INT(32) d;
! d gets 138051, the decimal equivalent of hex 21B43.
! @end gets @s[5]
d := CRE_Strtol_(s, @end, 16);
Strtoul
The Strtoul functions convert a string of characters to an unsigned 32-bit integer using 
a specified base. 
str
points to the string to convert.
INT(32) PROC CRE_Strtoul_( str, end_scan, base );
 STRING .str; ! in
 INT .end_scan; ! out
 INT base; ! in TNS only
INT(32) PROC CRE_StrtoulX_( str, end_scan, base );
 STRING .EXT str; ! in
 INT(32) .EXT end_scan; ! out
 INT base; ! in TNS only










