binäres schreiben < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 20:11 Mi 19.02.2014 | Autor: | rollroll |
Aufgabe | Die Datei Daten.dat sei zum binären Schreiben mit dem FILE Pointer Datei_ptr geöffnet. Man speichert den Vektor a, der mittels double a[10] angelegt wurde, in der Datei. Das geht so: fwrite (a, sizeof (double*), 10, Datei_ptr). |
Warum benötigt man hier double* ?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:57 Mi 19.02.2014 | Autor: | felixf |
Moin,
> Die Datei Daten.dat sei zum binären Schreiben mit dem FILE
> Pointer Datei_ptr geöffnet. Man speichert den Vektor a,
> der mittels double a[10] angelegt wurde, in der Datei. Das
> geht so: fwrite (a, sizeof (double*), 10, Datei_ptr).
>
> Warum benötigt man hier double* ?
das ist ein Fehler, dort muss sizeof(double) stehen. Es kann zufaellig sein (je nach System), dass sizeof(double) gleich sizeof(double*) ist (etwa auf 64-bit-Systemen), das muss aber nicht so sein.
Korrekt waere fwrite(a, sizeof(double), 10, Datei_ptr): das schreibt 10 Objekte von der Groesse sizeof(double) von der Speicher-Position a in die gegebene Datei.
LG Felix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:11 Do 20.02.2014 | Autor: | rollroll |
Danke!!!
|
|
|
|