Navigation

3.3.4 Zahlenumwandlung

internes Format --> Zeichenkette Zeichenkette --> internes Format
int atoi (str); ASCII --> integer
long atol (str); ASCII --> long
double atof (str); ASCII --> double
eine allgemeingültigere Funktion für atoi und atol ist strtol (für atof - strtod)

BEISPIELE/b334.c: 

/*  ACHTUNG: cc -lm -o b334 b334.c */
#include <stdio.h>
#include <math.h>

main (argc,argv)      /* Berechnung der Quadratwurzel */
int argc; 
char *argv[];
{
  double z, atof(), sqrt();
  char erg[60];

  if(argc != 2)  sprintf(erg,"usage: %s <zahl>",argv[0]); 
                     /* Problem, wenn *argv[0] mehr als 45 Zeichen  !!! */
  else {
    z=atof(argv[1]);
    if (z < 0) sprintf(erg,"Wurzel %s undef.",argv[1]);
                     /* Problem, wenn *argv[1] mehr als 45 Zeichen  !!! */
    else       sprintf(erg,"Wurzel %f = %f",z,sqrt(z));
  }
  puts(erg);  /*  wegen sqrt() bei cc  -lm angeben!  */
}

In diesem Beispiel wird die Bibliotheksfunktion sqrt() benutzt. Diese befindet sich in der mathematischen Bibliothek. Beim Compilieren ( cc -lm ) muss diese Bibliothek explizit genannt werden ! Navigation