### DESCRIPTION

The ` strtol` function converts the string in * nptr* to a

.Vt long value. The ` strtoll` function converts the string in * nptr* to a

.Vt "long long" value. The ` strtoimax` function converts the string in * nptr* to an

.Vt intmax_t value. The ` strtoq` function converts the string in * nptr* to a

.Vt quad_t value. The conversion is done according to the given * base*, which must be between 2 and 36 inclusive, or be the special value 0. The string may begin with an arbitrary amount of white space (as determined by **isspace**(3)) followed by a single optional ‘`+`’ or ‘`-`’ sign. If * base* is zero or 16, the string may then include a "0x" prefix, and the number will be read in base 16; otherwise, a zero * base* is taken as 10 (decimal) unless the next character is ‘`0`’, in which case it is taken as 8 (octal).

The remainder of the string is converted to a

.Vt long , "long long" , intmax_t or

.Vt quad_t value in the obvious manner, stopping at the first character which is not a valid digit in the given base. (In bases above 10, the letter ‘`A`’ in either upper or lower case represents 10, ‘`B`’ represents 11, and so forth, with ‘`Z`’ representing 35.)