Hallo,
habe ein Problem mit dem Schreiben und Lesen von Dateien. Wieso macht folgender Code keinen Eintrag in meine Datei?
Das printf() gibt 4 aus, also read klappt ohne Fehler. write() und lseek übrigens auch, habe ich getestet.
Sieht jemand meinen Fehler?
EDIT:
also ich habe mal statt int ein char in die Datei geschrieben, das klappt. Mit dem selben Code.
Mit int ist der Dateizeiger zwar auch um eine Stelle vom Anfang verschoben, aber man sieht keine Zahl. Weiß jemand warum?
Zumal das Auslesen mit int ja auch nicht klappt, also read() wird zwar richtig ausgeführt, aber es wurde scheinbar nichts ausgelesen.
habe ein Problem mit dem Schreiben und Lesen von Dateien. Wieso macht folgender Code keinen Eintrag in meine Datei?
Code:
int sum;
fd = open(fs1.title, O_RDWR|O_CREAT, 0640);
sum = 3;
sum = write(fd, &sum, 4);
lseek(fd, 0L, SEEK_SET);
sum = read(fd, &sum, 4);
printf("sum: %d\n", sum);
close(fd);
Das printf() gibt 4 aus, also read klappt ohne Fehler. write() und lseek übrigens auch, habe ich getestet.
Sieht jemand meinen Fehler?
EDIT:
also ich habe mal statt int ein char in die Datei geschrieben, das klappt. Mit dem selben Code.
Mit int ist der Dateizeiger zwar auch um eine Stelle vom Anfang verschoben, aber man sieht keine Zahl. Weiß jemand warum?
Zumal das Auslesen mit int ja auch nicht klappt, also read() wird zwar richtig ausgeführt, aber es wurde scheinbar nichts ausgelesen.