Dateioperationen
-
Hallo,
ich kenne mich in der C-Syntax nicht aus.
Ich schreibe mit:
if ((fileobj = fopen("C:\\myfile.dat", "wb"))==NULL){ //... } int i=9999; if (fwrite(&i, sizeof(i), 1, fileobj) !=1){ //... } fclose(fileobj);
in die Datei. Das scheint auch zu klappen. Es steht nämlich was drin.
Danach versuche ich die Datei auszulesen:
if ((fileobj = fopen("C:\\myfile.dat", "rb"))==NULL){ //... } seek(fileobj,sizeof(i)*0,SEEK_SET); // for die erste "Struktur" springen int s; fread(&s,sizeof(int),1,fileobj); // "Struktur" in s einlesen
Das klappt aber nicht. Ich bekomme mit printf nur Fehlermeldungen oder kryptische Zeichen auf den Bildschirm.
Wie bekomme ich eine Iteger-Variable oder ein Iteger-Array ausgelesen und angezeigt. Ich hoffe auf eure Hilfe.
Vielen Dank.
-
fseek(), nicht seek()
seek() hab ich garnicht gefunden in den standard libs.
guck mal dort:
http://www.cppreference.com/
-
also bis auf die seek/fseek()-sache scheint dein code einwandfrei zu sein. das mit dem "b"-flag beim öffnen hast du auch richtig gemacht.
vielleicht hast du ja bei printf() was falsch gemacht und versehentlich printf("%s",&s); statt printf("%d",s); geschrieben. bei der ganzen zeigerwirtschaft kann man sich schon mal verhaspeln