Mehrfacher Zugriff auf eine Datei
-
Hallo,
in meinem Programm muss ich von zwei Stellen aus auf eine Datei zugreifen. Die eine Stelle schreibt Daten hinein, die andere liest diese aus.
Die Daten werden mithilfe von std::ofstream in die Datei hineingeschrieben. Das Problem ist nun, dass vor dem Schließen des ofstreams von der anderen Stelle aus keine Daten ausgelesen werden können. Ist es irgendwie machbar, dies zu umgehen oder muss man jedesmal ofstream.close() ausführen, wenn man die Daten lesen kann?
Danke im Voraus!
Andy
-
Hast Du eine Pipe oder eine "normale" Datei?
Kennst Du
ofstream::flush()
?
-
Hallo!
Ich habe eine ganz normale Datei. Flush kannte ich noch nicht, ich probiere es mal aus!
-
Wunderbar, es hat geklappt! Vielen Dank für den schnellen Tipp!
-
Nur der Vollständigkeit halber: Das ist immer dann praktisch, wenn Streams gepuffert werden und bereits in
ostream
definiert, nicht erst inofstream
.Du achtest hoffentlich auch sonst auf Synchronisation bzw. machst Dein Programm ggf. thread-safe.
-
Danke für die Erläuterung. Ja ich benutze mutexe, um die beiden Threads zu synchronisieren. Danke!