problem mit fwrite und fread
-
hi.
ich möchte ein programm schreibe, welches ein float-array aus einer datei liest. am anfang funktioniert es auch ganz gut, nach einiger zeit kommen komische werte raus. deshalb habe ich ein testprogramm geschrieben:int main(int argc, char* argv[]) { int d[20]; for(int i = 0; i < 20;i++) { d[i] = i; printf("%d", d[i]); } FILE *f = fopen("test.txt", "w"); for(int i = 0; i< 20; i++) { fwrite(&d[i], 4, 1, f); } fclose(f); FILE *g = fopen("test.txt", "r"); for(int i = 0; i< 20;i++) { fread(&d[i], 4,1,g); :arrow: printf("%d\n", d[i]); } fclose(g); return 0; }
nach dem einlesen der datei wird beim pfeil folgendes ausgegeben:
1
2
3
4
5
6
7
8
9
10
11
12
234881024
251658240
268435456
285212672
301989888
318767104
0
wieso wird ab der 13 so ein schwachsinn ausgegeben??? bin für jede hilfe dankbar.
-
Hallo
float-array
int d[20];
Desweiteren hat dein geposteter Code nichts mit dme Builder zu tun. Nicht mal was mit C++. Sondern das gehört ins Ansi-C Forum.
Wenn du C++ schreiben willst, dann benutz std::ifstreambis bald
akari
-
Dieser Thread wurde von Moderator/in KlausB aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ok. das mit int war ein test. wenn ich float benutze kommt was ähnliches raus.