Eine Zeile aus Datei überschreiben und eine hinzufügen
-
Hi,
kann mir wer erläutern wie ich in einer Datei eine Zeile überschreibe und eine Zeile dazwischen schieben kann?
Nur die Befehle, wäre echt klasse.
MfG Gustl
-
#include <string> #include <vector> #include <fstream> #include <iterator> #include <algorithm> struct TextLine { std::string value; }; std::istream& operator >>(std::istream& input, TextLine& textLine) { return std::getline(input, textLine.value); } std::ostream& operator <<(std::ostream& output, TextLine const& textLine) { return output << textLine.value << std::endl; } int main() { std::vector<TextLine> textLines; std::ifstream input("text.txt"); std::copy(std::istream_iterator<TextLine>(input), std::istream_iterator<TextLine>(), std::back_inserter(textLines)); // x sei irgendein gültiger Index, bzw. Zeile. textLines[x].value = "Neuer wert, also Linie überschreiben!"; TextLine NewLine = { "Zeile am Anfang einfügen." }; textLines.insert(textLines.begin(), NewLine); std::ofstream output("NewText.txt"); std::copy(textLines.begin(), textLines.end(), std::ostream_iterator<TextLine>(output)); return 0; }Alle verwendeten Klassen und co, kannst du hier nachschauen:
http://www.cplusplus.com/reference/Der Code ist ungetestet, sollte aber wohl so, oder so ähnlich, funktionieren.
Grüssli
PS: Befehle gibt es eigentlich nicht, daher war mir nicht ganz klar, was du mit dem "nur" gemeint hast.