Hi,
ich möchte mit dem 64Bit Datentyp long long unsigned arbeiten (notwendig Aufgrund großer Potenzen) und habe allerdings das Problem, dass wenn ich versuche mit fscanf eine Zahl aus einer Datei zu lesen ich immer eine völlig andere in der Variablen stehen habe.
z.B.:
Die Datei sieht wie folgt aus:
15
1
15
71
nun möchte ich aus dieser Datei die Zahl von jeder Zeile lesen:
(gekürzt zusammengeschrieben für das Lesen der Zahl aus der ersten Zeile)
anschließend steht in c der Wert:
11536662113036640
Wie bekomme ich den Wert 15 in c? (Das Problem sieht für die anderen gelesenen Zeilen genauso aus)
Danke im Voraus.
PS.: ich arbeite mit gcc auf Windows 7 - da ich keinen zusätzlichen Parameter für den Compiler übergebe dürfte ich den c98-Standard als Default-Standard verwenden.
ich möchte mit dem 64Bit Datentyp long long unsigned arbeiten (notwendig Aufgrund großer Potenzen) und habe allerdings das Problem, dass wenn ich versuche mit fscanf eine Zahl aus einer Datei zu lesen ich immer eine völlig andere in der Variablen stehen habe.
z.B.:
Die Datei sieht wie folgt aus:
15
1
15
71
nun möchte ich aus dieser Datei die Zahl von jeder Zeile lesen:
(gekürzt zusammengeschrieben für das Lesen der Zahl aus der ersten Zeile)
Code:
File *decfile = fopen(path, "w+");
long long unsigned c;
fscanf(decfile, "%llu\n", &c);//fscanf(decfile, "%llu", &c); <-- geht auch nicht
anschließend steht in c der Wert:
11536662113036640
Wie bekomme ich den Wert 15 in c? (Das Problem sieht für die anderen gelesenen Zeilen genauso aus)
Danke im Voraus.
PS.: ich arbeite mit gcc auf Windows 7 - da ich keinen zusätzlichen Parameter für den Compiler übergebe dürfte ich den c98-Standard als Default-Standard verwenden.
Zuletzt bearbeitet: