Pointer to the null-terminated string to be converted to an `unsigned long` integer.
2nd Parameter Type : char **
A pointer to a pointer to a null-terminated string. Commonly used in functions like `strtol` and `strtok_r` to store the address of the first invalid character or to maintain state across function calls.
2nd Parameter
Pointer to a `char *` that will store the address of the first invalid character after the number in `nptr`. Can be `NULL` if this information is not needed.
3rd Parameter Type : int
Integer type (typically 4 bytes, -2,147,483,648 to 2,147,483,647)
3rd Parameter
The base of the number in `nptr` (e.g., 10 for decimal, 16 for hexadecimal). If 0, the base is automatically detected from the string prefix (`0x` for hex, `0` for octal, or decimal otherwise).
Read more about parameters of strtoul in parameters section
The strtoulfunction in C language Converts the initial portion of the string to an unsigned long integer.
The strtoul function converts the initial part of the string in nptr to an unsigned long int value according to the given base, which must be between 2 and 36 inclusive, or be the special value 0. It skips leading whitespace and stops at the first character it cannot recognize as part of a number.
The strtoulfunction takes 3
parameters:
•
const char * `nptr`: Pointer to the null-terminated string to be converted to an `unsigned long` integer.
•
char ** `endptr`: Pointer to a `char *` that will store the address of the first invalid character after the number in `nptr`. Can be `NULL` if this information is not needed.
•
int `base`: The base of the number in `nptr` (e.g., 10 for decimal, 16 for hexadecimal). If 0, the base is automatically detected from the string prefix (`0x` for hex, `0` for octal, or decimal otherwise).
Converts the initial portion of the string pointed to by `nptr` to an `unsigned long` integer according to the specified `base`. The conversion stops at the first invalid character. If `endptr` is not NULL, it points to the character following the valid number. Returns the converted value or `ULONG_MAX` on overflow.
The strtoul function return value :
Returns the converted unsigned long int value
If no conversion could be performed, 0 is returned
If the correct value is outside the range of representable values, ULONG_MAX is returned, and errno is set to ERANGE
Output
This example demonstrates basic usage of strtoul to convert a string to an unsigned long integer and identify the remainder of the string.