Arbeiten mit Dateien unter C++
-
Ich bin noch ziemlicher Newbie und wollte gerade einen experimentellen Texteditor für die Konsole schreiben.
Auf http://cppreference.com habe ich dann bemerkt, dass C++ eigentlich kaum Funktionen beinhaltet, um mit Dateien zu arbeiten.
In C ist aber jede Menge zu finden...Arbeitet man da also mit den Funktionen aus C?
Soll ich trotzdem C++ Streams verwenden und beides kombinieren?
-
Programmer Troll schrieb:
Soll ich trotzdem C++ Streams verwenden
Genau. http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html
-
Danke für den Link, da steht aber z.B. auch nicht, wie ich eine Datei unbenennen/löschen kann.
Verwendet man jetzt also remove/rename aus stdio?
-
Die Standardlib von C++ kann Streams lesen und schreiben. Streams haben aber nichts mit Dateisystem zu tun. Klar, fstream kann in eine Datei schreiben und lesen. Das stream in fstream sagt ja schon aus, das es sich nur um einen Stream handelt. Wie soll ein Stream eine Datei umbennen? Das geht ja irgendwie schlecht.
Wenn du Dateisystem-Operationen machen willst, empfehle ich Boost.Filesystem. Das kann so ziemlich alles um auf Dateisystem zu zugreifen, selbst Zugriffsrechte kennt es.
http://www.boost.org/libs/filesystem/doc/index.htm
Von C Funktionen würde ich die Finger lassen. Da wanderst du doch blos von C++ ab und hast auch keine Typsicherheit. Bei Boost Filesystem haste wenigsten vernünftige Objekte.