Converts a string into an unsigned long (or unsigned long long) integer value #include <stdlib.h> unsigned long strtoul ( const char * restrict s , char ** restrict endptr , int base ); unsigned long long strtoull ( const char * restrict s , char ** restrict endptr , int base ); (C99) The strtoul( ) function attempts to interpret the string addressed by its first pointer argument, s, as an integer numeric value, and returns the result with the type unsigned long. Otherwise, the strtoul( ) function works in the same way as strtol( ). strtoull( ) is similar, but returns unsigned long long. If the resulting value is outside the range of the function's type, then the return value is ULONG_MAX (or ULLONG_MAX, for strtoull( )), and the errno variable is set to the value of ERANGE ("range error"). ExampleThis for loop uses stroul( ) to convert an IPv4 address from a dotted-decimal string to a 32-bit integer value: char dotted[ ] = "172.16.2.10", *ptr = dotted, *nextdot = NULL; unsigned long dest = 0; for ( i = 0; i < 4; i++) { dest << 8; dest += stroul( ptr, &nextdot, 10 ); ptr = nextdot + 1; } See Alsostrtol( ), strtod( ), strtof( ), and strtold( ); wcstol( ) and wcstoul( ); strtoimax( ), strtoumax( ), wcstoimax( ), and wcstoumax( ) |