/* File: strtonum.c */
/* Time-stamp: "2001-04-23 16:11:30 calvanes" */
/* Scopo: funzioni di conversione delle stringhe */

#include <stdio.h>
#include <stdlib.h>

int main (void)
{
  double d;
  long i;
  char *resto;

  printf("atoi:\n");
  printf("  %d\n", atoi("123"));
  printf("  %d\n", atoi("123.45"));

  printf("\natof:\n");
  printf("  %lg\n", atof("  123.45"));
  printf("  %lg\n", atof("  123.45xxx"));
  printf("  %lg\n", atof("  123.45.67"));

  printf("\nstrtod:\n");
  d = strtod("123.45US$", &resto);
  printf("  %g\n", d);
  printf("  %s\n", resto);

  printf("\nstrtol:\n");
  i = strtol("12000lire", &resto, 10);
  printf("  %ld\n", i);
  printf("  %s\n", resto);

  printf("\nstrtol - base 16:\n");
  i = strtol("FFGFF", &resto, 16);
  printf("  %ld\n", i);
  printf("  %s\n", resto);

  printf("\nstrtol - base 0 (esadecimale):\n");
  i = strtol("0xFFGFF", &resto, 0);
  printf("  %ld\n", i);
  printf("  %s\n", resto);

  printf("\nstrtol - base 0 (ottale):\n");
  i = strtol("0708FF", &resto, 0);
  printf("  %ld\n", i);
  printf("  %s\n", resto);
}