kurm_de
02-10-2005, 11:22
hi,
ich möchte gerne aus einer Datei dezimal Zahlen auslesen und sie dann umwandeln und in eine float variable speichern, um später mit der Zahl rechnen zu können.
Also ich hab eine Datei, in der Datei stehen ein paar Strings und eine dezimal Zahl:
0
Geldbeutel
28.09.2005
Andy
13.87
start
So nun lese ich die Datei aus und speichere die Zeilen in ein Array:
char daten[1000][10][100]; //für 1000 Dateien, 10 Zeilen pro Datei und 100 Zeichen pro Zeile
stream=fopen(nrch,"r");
i=1;
i1=0;
while((fgets(c, 80, stream))!=NULL)
{
strcpy(daten[i][i1],c);
daten[i][i1][strlen(c)-1]='\0'; //damit wird der Zeilenumbruch überschrieben, weis nicht ob man das so machen kann
i1++;
}
fclose(stream);
Nun habe ich probiert mit atof() die dezimal Zahl in der 5. Zeile(mit 0 angefangen 4. Zeile) in eine float Variable umzuwandeln:
float zahl;
zahl=atof(daten[1][4]);
Doch leider zeigt der mir mit printf("%0.2f",zahl) nur 13.00 an. Also die Nachkommastellen sind immer 0.
Ich hoffe es kann mir hier einer Helfen, bin für jede Hilfe sehr dankbar.
Viele Grüße kurm_de
ich möchte gerne aus einer Datei dezimal Zahlen auslesen und sie dann umwandeln und in eine float variable speichern, um später mit der Zahl rechnen zu können.
Also ich hab eine Datei, in der Datei stehen ein paar Strings und eine dezimal Zahl:
0
Geldbeutel
28.09.2005
Andy
13.87
start
So nun lese ich die Datei aus und speichere die Zeilen in ein Array:
char daten[1000][10][100]; //für 1000 Dateien, 10 Zeilen pro Datei und 100 Zeichen pro Zeile
stream=fopen(nrch,"r");
i=1;
i1=0;
while((fgets(c, 80, stream))!=NULL)
{
strcpy(daten[i][i1],c);
daten[i][i1][strlen(c)-1]='\0'; //damit wird der Zeilenumbruch überschrieben, weis nicht ob man das so machen kann
i1++;
}
fclose(stream);
Nun habe ich probiert mit atof() die dezimal Zahl in der 5. Zeile(mit 0 angefangen 4. Zeile) in eine float Variable umzuwandeln:
float zahl;
zahl=atof(daten[1][4]);
Doch leider zeigt der mir mit printf("%0.2f",zahl) nur 13.00 an. Also die Nachkommastellen sind immer 0.
Ich hoffe es kann mir hier einer Helfen, bin für jede Hilfe sehr dankbar.
Viele Grüße kurm_de