Converts the initial portion of the string pointed to by nptr to an unsigned long integer. Format #include <stdlib.h> unsigned long int strtoul (const char *nptr, char **endptr, int base);
1 – Function Variants
The strtoul function has variants named _strtoul32 and _strtoul64 for use with 32-bit and 64-bit pointer sizes, respectively.
2 – Arguments
nptr A pointer to the character string to be converted to an unsigned long. endptr The address of an object where the function can store a pointer to a pointer to the first unrecognized character encountered in the conversion process (that is, the character that follows the last character in the string being converted). If endptr is a NULL pointer, the address of the first unrecognized character is not retained. base The value, 2 through 36, to use as the base for the conversion. Leading zeros after the optional sign are ignored, and 0x or 0X is ignored if the base is 16. If the base is 0, the sequence of characters is interpreted by the same rules used to interpret an integer constant: after the optional sign, a leading 0 indicates octal conversion, a leading 0x or 0X indicates hexadecimal conversion, and any other combination of leading characters indicates decimal conversion.
3 – Return Values
x The converted value. 0 Indicates that the string starts with an unrecognized character or that the value for base is invalid. If the string starts with an unrecognized character, *endptr is set to nptr. ULONG_MAX Indicates that the converted value would cause an overflow.