/ / Schreibe Daten in eine Datei, ohne sie zu schließen und sie wieder zu öffnen. (C ++) - C ++, For-Schleife, Datei-Io

Schreiben Sie Daten in eine Datei, ohne sie zu schließen und wieder zu öffnen. (C ++) - C ++, For-Schleife, Datei-Io

Ich möchte eine Datei öffnen, die Daten lesen und nach einemBerechnung, schreibe über die Daten, die ich gelesen habe, aber ich möchte sie nicht schließen und wieder öffnen, weil das mein Programm verlangsamen wird, weil es das immer wieder macht und es verlangsamt es. Im Wesentlichen habe ich eine Startnummer, dann mache ich ein paar Berechnungen und gehe zur nächsten Nummer. Da ich diese Berechnungen nicht wiederholen möchte, habe ich eine Datei mit der Startnummer und eine Datei mit der Ausgabeliste. Ich möchte die Startnummer ändern, damit ich die Berechnungen nicht unnötig wiederhole. Wenn Sie etwas von meinem Code sehen müssen, sagen Sie es einfach. Danke Jungs / Mädels / Variationen davon. Ich benutze C ++.

Antworten:

0 für die Antwort № 1

Ich denke, es wäre besser, wenn Sie die Inhalte im Speicher haben, aber trotzdem können Sie mit seekp den Zeiger auf die tatsächliche Position in der Datei ändern


0 für die Antwort № 2

Ich glaube, was Sie erreichen wollen, kann mit fstream getan werden, die Syntax ist sehr ähnlich zu diesem:

std::fstream file;
file.open ("textfile.txt", std::fstream::in | std::fstream::out | std::fstream::app);

Hier ist ein Link zu einer besseren Erklärung http://www.cplusplus.com/reference/fstream/fstream/open/


0 für die Antwort № 3

Da ich das Ende der Datei erreicht habe, wird das eof-Flag gesetzt. Ich muss das löschen mit (ifile ist die fstream-Variable in diesem Beispiel) ifile.clear - Dann versuche zu suchen:

ifile.clear();
ifile.seekg(0, ios::beg);