Ersetzen Sie eine Zeile in text-Datei
Möchte ich ersetzen einer Textzeile in eine Datei, aber ich weiß nicht, Funktionen.
Habe ich dieses:
ofstream outfile("text.txt");
ifstream infile("text.txt");
infile >> replace whit other text;
Irgendwelche Antworten?
Vermisse ich zu sagen, für das hinzufügen von text in eine Zeile in der Datei...
Beispiel
infile.add(text, line);
Nicht C++ - Funktionen, die für diese?
Sehen, ob das hilft: stackoverflow.com/questions/4499095/replace-line-in-a-file-c
Ist dieses Hausaufgaben? Wenn ja, bitte markieren, sonst würde ich vorschlagen, eine scripting-Sprache wie perl oder python, oder nur mit
Nein, nicht für die Hausaufgaben, die für einige arbeiten...
jeden besonderen Grund für die Verwendung von C++?
Ja, SDL, Motoren, Spiele, die eine erneut abgefragt, für die das Spiel entwickelt in der Industrie
Ist dieses Hausaufgaben? Wenn ja, bitte markieren, sonst würde ich vorschlagen, eine scripting-Sprache wie perl oder python, oder nur mit
sed
.Nein, nicht für die Hausaufgaben, die für einige arbeiten...
jeden besonderen Grund für die Verwendung von C++?
Ja, SDL, Motoren, Spiele, die eine erneut abgefragt, für die das Spiel entwickelt in der Industrie
InformationsquelleAutor Warkanlock | 2012-02-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich befürchte, Sie werden wahrscheinlich haben, um die gesamte Datei schreiben. Hier ist, wie Sie es tun könnte:
Input-Datei:
Output-file:
Einfach kommentieren Sie die kommentierten Zeilen, wenn Sie es nur wollen, ersetzen Sie das erste mal vor. Auch, ich vergaß, am Ende, fügen Sie code, der löscht filein.txt und benennt fileout.txt zu filein.txt.
strTemp += "\n"; fileout << strTemp;
mitfileout << strTemp << '\n';
.InformationsquelleAutor Anton
Müssen Sie suchen auf der richtigen Linie/char/position in der Datei und dann über-schreiben. Es gibt keine Funktion zum suchen und ersetzen als solche (die ich kenne).
Dies funktioniert nicht, wenn die Ersatz-text ist nicht genau die gleiche Größe in bytes als das, was es ersetzt.
InformationsquelleAutor Kashyap
Der einzige Weg, Sie zu ersetzen von text in einer Datei, oder fügen Sie zusätzliche Zeilen in der Mitte einer Datei ist, zu schreiben, die gesamte Datei aus der Sicht der ersten Modifikation. Sie können nicht "Platz machen" in der Mitte einer Datei für die neuen Linien.
Den zuverlässige Weg, dies zu tun: kopieren Sie den Inhalt der Datei in eine neue Datei, so dass die änderungen, wie Sie gehen, und verwenden Sie dann
rename
überschreiben die alte Datei mit der neuen.InformationsquelleAutor zwol