strtoul

Converts a string to an unsigned long integer

Local Servers:nonblocking
Remote Servers:N/A
Classification:ANSI
Service:String Conversion

Syntax

  #include <limits.h>  
  #include <stdlib.h>  
   
  unsigned long int strtoul  (  
     const char   *ptr,   
     char        **endptr,   
     int           base);
  

Parameters

ptr
(IN) Points to the string to be converted.
endptr
(OUT) Points to the first unrecognized character.
base
(IN) Specifies the base of the value being converted.

Return Values

strtoul returns the converted value. If the correct value would cause overflow, ULONG_MAX is returned and errno is set to ERANGE. If base is out of range, a value of 0 is returned and errno is set to EDOM. A value of 0 is returned when the input string cannot be converted. When an error has occurred, errno is set.

Remarks

The strtoul function converts the string pointed to by ptr to an unsigned long integer. The function recognizes a string containing optional white space, followed by a sequence of digits and letters. The conversion ends at the first unrecognized character. A pointer to that character is stored in the object to which endptr points if endptr is not NULL.

If base is zero, the first characters determine the base used for the conversion. If the first characters are 0x or 0X, the digits are treated as hexadecimal. If the first character is 0, the digits are treated as octal. Otherwise, the digits are treated as decimal.

If base is not zero, it must have a value of between 2 and 36. The letters a through z and A through Z represent the values 10 through 35. Only those letters whose designated values are less than base are permitted. If the value of base is 16, the characters 0x or 0X can optionally precede the sequence of letters and digits.

See Also

ltoa, strtol, ultoa

Example

  #include <limits.h>  
  #include <stdlib.h> 
    
  main ()  
  {  
     unsigned long int v;  
     v = strtoul ("12345678", NULL, 10);  
  }