Jak převádět textový zápis čísel do jejich hodnoty



Ve standardní knihovně jsou následující funkce (je tedy třeba vložit — pomocí include — stdlib.h)
 
     long strtol (const char *str, char **endptr, int base);
     unsigned long strtoul (const char *str, char **endptr, int base);
     unsigned long long strtoull (const char *str, char **endptr, int base);
     long long strtoll (const char *str, char **endptr, int base);
     double strtod (const char *str, char **endptr);
     float strtof (const char *str, char **endptr);
     long double strtold (const char *str, char **endptr);
 
  str je adresa řetězce, který má být převeden na číslo.
  endptr je adresa, do níž se uloží posice prvního "špatného" znaku, pokud není při volání (char **)NULL.
  base je základ posiční soustavy, z které se převádí.
 
Kromě chování při chybě jsou následující volání equivalentní:
 
          atol(str)strtol(str, (char **)NULL, 10)          
     atoi(str)(int) strtol(str, (char **)NULL, 10)          
     atoll(str)strtoll(str, (char **)NULL, 10)          
     atof(nptr)strtod(nptr, (char **)NULL)          
     atold(nptr)strtold(nptr, (char **)NULL)          





  Více podrobností man 3 funkce