Arry in datei abspeichern

Hallo leute,
kann mir jetzt sagen, wie ich meine array in einer datei abspeichere und wie ich von datei die zahlen an array übergebe?

so gehts auch jeden fall nicht:frowning:in datei abspeichern)
(es sollten also in datei zahlen 0,1,2,3,4 stehen.)

int *arr;
arr=new int[5];
int i;
for (i=0; i

so gehts auch jeden fall nicht:frowning:in datei abspeichern)
(es sollten also in datei zahlen 0,1,2,3,4 stehen.)

Was du machst ist schon prinzipiell fast richtig, aber das Ergebnis wird nicht so sein, wie du es erwartest. Wenn du an fwrite einfach nur die Adresse des Arrays übergibst, wird in der Datei die binäre Darstellung der Zahlen wie sie der Rechner werwendet landen und nicht die String-Repräsentation. Wenn du die Zahlen wirklich als Strings speichern willst, solltest du dir mal fprintf anschauen. Das Einlesen wird dann auch etwas komplizierter, dazu kannst du dann fscanf benutzen.

Außerdem ist der Aufruf von fwrite falsch. Du schreibst:
fwrite(arr,1,len,fp1);

fwrite erwartet allerdings als zweiten Parameter die Größe des zu speichernden Datentyps, daher musst du schreiben:
fwrite( arr, sizeof(int), len, fp1 );

Hallo Fragewurm,

Es gibt da noch ein Problem:

fp1= fopen(dn, „w+“);

sollt
fp1= fopen(dn, „w b +“);

lauten.
Andernfalls, werden die Zahlen als Zeichen interpretiert und z.B. die Zahl 13 (Dezimal) wird als Wagenrücklauf (also Zeilenende) interpretiert.

MfG Peter(TOO)

Hallo,
also ich habe mein programm an diesen stellen geändert: (!!)

int *arr;
arr=new int[5];
int i;
for (i=0; i

Hallo,
also ich habe mein programm an diesen stellen geändert: (!!)

int *arr;
arr=new int[5];
int i;
for (i=0; i