Strtoul() function in C

Strtoul() function in C


The strtoul function in C serves to convert a string to an unsigned long integer, providing versatility in handling input data.

Here's an overview of its introduction, description, syntax, and usage:


The strtoul function is part of the C standard library's <stdlib.h>  header.

It's used to convert a string representation of a number into an unsigned long integer value.

This function is particularly useful when dealing with input data that needs to be converted from string format to numerical format for further processing.

strtoul stands for "string to unsigned long." It parses the initial portion of the string as an unsigned long integer representation.

The function skips leading whitespace characters (as defined by isspace) and then reads the optional plus or minus sign followed by a series of digits.

It stops parsing at the first character that is not a valid digit in the specified base, or at the end of the string.

If the string is empty or does not contain a valid conversion, it returns zero.

If the value read is out of the range of representable values by an unsigned long integer, it returns ULONG_MAX or ULLONG_MAX (depending on the system).

Syntax strtoul function in C:

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

Arguments or Parameters:

str: Pointer to the initial string to be converted.

endptr: Reference to a pointer to store the address of the first invalid character in str after the conversion, or NULL.

base: Base of the numerical values in str, ranging from 2 to 36.

If it is 0, the base is determined by the format of the string: hexadecimal (0x or 0X), octal (0), or decimal (all other cases).


// Program for strtoul function in C

int main() {
    char str[] = "12345";
    char *endptr;
    unsigned long num = strtoul(str, &endptr, 10);

    if (*endptr != '\0') {
        printf("Invalid character: %c\n", *endptr);
    } else {
        printf("Parsed number: %lu\n", num);

    return 0;



Parsed number: 12345

In this example, we convert the string "12345" to an unsigned long integer using strtoul.

If the conversion is successful, it prints the parsed number; otherwise, it reports the first invalid character encountered during parsing.

This function provides a robust way to handle string-to-integer conversions, allowing for error checking and providing flexibility in base conversion.

Best WordPress Hosting


Discount Coupons

Get a .COM for just $6.98

Secure Domain for a Mini Price

Leave a Reply

    Waiting for your comments