System-Filevarbeitung vs. fstream?
-
Was nehmt ihr um Dateien zu schreiben und zu lesen? Greift ihr auf die System-API zurück oder benützt ihr Filestreams?
Welche Vor- und Nachteile hat das jeweilige System?
MfG SideWinder
-
SideWinder schrieb:
Was nehmt ihr um Dateien zu schreiben und zu lesen?
Das kommt immer drauf an, was ich machen will. Für Standardaufgaben nehme ich Standard fstreams. Wenn ich irgendwas exotisches machen will (riesen Dateien kopieren, Memory mapped Files, komische Formate, maximale Performance durch spezielle Einstellungen...), dann verwende ich die BS-API.
D.h. wenn es keinen speziellen Grund für die BS-API gibt, dann verwende ich fstreams. Allein schon, wegen der Portabilität.
-
normalerweise nehme ich fstreams, weil die eben schön in das C++ Konzept passen und so der Code auch portabler ist. fstreams sind aber eben leider bei speziellen Dingen eingeschränkt, wie Hume schon gesagt hat. Da kann man sich dann einen eigenen Streambuf implementieren, dass ist aber leider aufwendiger.
Und die fstreams bringen eben auch einen gewissen Overhead mit, sowhol an größe, als auch an Geschwindigkeit. Im normalfall ist der jedoch unerheblich.