Funktion atof() liefer nicht den richtigen Wert
-
Hallo Forum,
ich möchte einen mit argv[] übernommenen String in eine float-Zahl umwandeln.
Ich habe es mitatof(argv[2])
versucht, aber atof() liefert einen sinnlosen Wert dafür.
Verwendete Bibiotheken
#include <stdio.h> #include <time.h> #include <math.h> #include <stdlib.h>
Der entsprechende Programmteil ist
float date = atof(argv[argc-1]); //Kontrollausgabe printf("<date> is %d\n, date);
Die Printausgabe liefert vorher für <argv> den korrekten Wert 2455013.5, für <date> jedoch den Wert -1073741824.
Ich bin ratlos...
Vielleicht kann jemand helfen?Greetz
hiro
-
^^ floats kannst ja auch nicht mit %d ausgeben.
-
Hallo,
deine printf-Ausgabe ist falsch. %d steht für signed decimal integer.
Richtig ist:
printf("<date> is %f\n", date);
-
Funzt.
Ich danke euch *tiefstmöglicheverbeugung*...