Advertisement
gocha

C/C++ strtol/strtoul sample

Aug 1st, 2012
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.76 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <errno.h>
  4. #include <limits.h>
  5. int main(int argc, char *argv[])
  6. {
  7.     if (argc <= 1)
  8.     {
  9.         puts("strtol [string]");
  10.         return 1;
  11.     }
  12.  
  13.     const char *s = argv[1];
  14.     char *endptr = NULL;
  15.     int err = 0;
  16.  
  17.     long l = strtol(s, &endptr, 10);
  18.     err = errno;
  19.  
  20.     printf("strtol => %ld, endptr = %s, errno = %d\n", l,
  21.         endptr == NULL ? "NULL" : endptr, err);
  22.  
  23.     unsigned long ul = strtoul(s, &endptr, 10);
  24.     err = errno;
  25.  
  26.     printf("strtoul => %lu, endptr = %s, errno = %d\n", ul,
  27.         endptr == NULL ? "NULL" : endptr, err);
  28.  
  29.     printf("*Note: ERANGE = %d\n", ERANGE);
  30.     printf("*Note: LONG_MIN = %ld\n", LONG_MIN);
  31.     printf("*Note: LONG_MAX = %ld\n", LONG_MAX);
  32.     printf("*Note: ULONG_MAX = %lu\n", ULONG_MAX);
  33.  
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement