2 filepointer auf eine Datei?
-
Hi,
ich wollte eine Datei schreiben, die immer von einer stelle in der Datei zu der anderen Daten kopiert. Dazu wären 2 filepointer sinnvoll, damit der filepointer nicht immer hin und her wandern muss...
Nun habe ich mich gefragt, ob ich also eine Datei mit 2 filepointern öffnen darf (in dem Fall einen zum Schreiben und einen zum Lesen). Wichtig: wenn ja - geht das nur auf manchen Systemen oder auf jedem?
Ich denke mal die Lösung ist, ob man 2 file descriptoren auf einen Stream setzen kann, da filepointer ja fds enthalten.
Danke für Eure Antworten im Voraus!
Johannes
-
das geht alles. nur solltest du immer in erinnerung behalten, dass du buffer hast. versuche also nie, das, was du mit dem einem fd geschrieben hast, mit dem anderen direkt zu lesen. es könnte schief gehen.
-
D.h. der eine weiß noch nicht, was der andere gemacht hat?
-
es kann etwas zwischen den beiden buffern hängen, was du gerade lesen willst. es muss nicht. nur garantiert es dir niemand.
ich würde aber darauf verzichten aus einem prozess heraus zweimal die gleiche datei zu öffnen. so schlimm ist seeking nicht.
-
es geht aber nicht überall. kommt drauf an, ob das FS sowas unterstützt.
-
filesystem-fan schrieb:
es geht aber nicht überall. kommt drauf an, ob das FS sowas unterstützt.
Wohl eher, ob das Betiebssystem dies unterstützt. WindowsXP unterstützt dies, mit allen Filesystemen, die sich installieren (formatieren) lassen.
-
@fs-fan ein dateisystem, das keine parallelen zugriff auf eine datei unterstützt, ist mir schon lange nicht mehr untergekommen.
-
Nach alledem, was ich hier vernehme, sollte man es wohl doch vermeiden
-
._. schrieb:
...mit allen Filesystemen, die sich installieren (formatieren) lassen.
tut mir leid. ich wusste ja nicht, dass formatieren und installieren das gleiche sind...