std::strtoul, std::strtoull

From Cppreference

Jump to: navigation, search
Defined in header <cstdlib>

unsigned long      strtoul( const char *str, char **str_end, int base );

unsigned long long strtoull( const char *str, char **str_end, int base );
(C++11 feature)

Interprets an unsigned integer value in a character string pointed to by str.

Function discards any whitespace characters until first non-whitespace character is found. Then it takes as many characters as possible to form a valid base-n (where n=base) unsigned integer number representation and converts them to an integer value. The valid unsigned integer value consists of the following parts:

The set of valid digits for base-2 integer is 01, for base-3 integer is 012, and so on. For bases larger than 10, valid digits include alphabetic characters, starting from Aa for base-11 integer, to Zz for base-36 integer. The case of the characters is ignored.

The functions sets the pointer pointed to by str_end to point to the character past the last character interpreted. If str_end is NULL, it is ignored.


[edit] Parameters

str - pointer to the null-terminated character string to be interpreted
str_end - pointer to a pointer to character.
base - base of the interpreted integer value

[edit] Return value

integer value corresponding to the contents of str on success. If the converted value falls out of range of corresponding return type, range error occurs and ULONG_MAX or ULLONG_MAX is returned. If no conversion can be performed, 0 is returned.

[edit] Example

[edit] See also

converts a character string to an integer value
converts a character string to an integer value