int main(int argc, char *argv[])
{
int i, j, count;
int f1;
char buf[16];
f1 = open(argv[1], O_RDWR | O_APPEND);
if(f1 == -1)
perror("open failed");
if(lseek(f1, 0, SEEK_SET) == -1)
printf("lseek failed\n");
while(count = read(0, buf, 16)) {
write(f1, buf, count);
}
close(f1);
return 0;
}
Dies ist mein Code. Es öffnet Dateien, die als Argument übergeben werden, und sollte am Anfang der Datei alles aus der Konsole schreiben. Die Datei wird im Append-Modus geöffnet, und dann wird lseek verwendet, um den Deskriptor an den Anfang zu verschieben. Es gibt keine Änderung in dem Wert von f1, es druckt nicht, dass lseek fehlgeschlagen ist.lseek funktioniert nicht mit Append-Modus der Datei