9.4 Fonctions de conversions

Le fichier en-tête stdlib.h contient des déclarations de fonctions permettant la conversion de données de type chaîne de caractères en données numériques :

Exemple

 
#include <stdio.h>
#include <stdlib.h>
main()
{
  char *s = "     37.657a54";
  char *cerr;

  printf("%f\n", strtod(s, &cerr));    ===> 37.657
  if (*cerr != '\0')
    fprintf(stderr,
            "Caractere errone : %c\n", *cerr);
  s = "11001110101110";
  printf("%ld\n", strtol(s, NULL, 2)); ===> 13230
  s = "0x7fff";
  printf("%ld\n", strtol(s, NULL, 0)); ===> 32767
  s = "0777";
  printf("%ld\n", strtol(s, NULL, 0)); ===>   511
  s = "777";
  printf("%ld\n", strtol(s, NULL, 0)); ===>   777
}


Pr. Marc BUFFAT
buffat@ufrmeca.univ-lyon1.fr
2004-12-01