Wie einen Vektor in einer C++-Datei gespeichert

July 30

Die Vector-Klasse in die C++ Standard Template Library dient als Alternative zu den einfachen Arrays. Sie sind fast so schnell wie standard-Arrays, aber sie verfügen über effiziente Funktionen zum Hinzufügen und Entfernen von Elementen aus dem Array und sind bei Bedarf dynamisch verkleinert. Ein nützliches Glied der Vector-Klasse ist der Iterator, der welches stark den Prozess vereinfacht der durchlaufen der Elemente, die in den Vektor mit einer for-Schleife gespeichert. Das anderen Tool benutzt werden das Ofstream-Objekt in der Bibliothek Fstream, dem Sie das einfache verwenden kann "<<" Operator für die Dateiausgabe.

Anweisungen

1 Erstellen Sie eine C++-Datei namens "vectorToFile.cpp". Für diese Aufgabe drei Bibliotheken benötigt werden: Fstream bietet Funktionen für Dateioperationen, Iostream stellt Funktionalität für e/a-Standard ein-und die wird von der Konsole in eine Datei in dieser Aktivität umgeleitet und Vector bietet der Vector-Klasse. Also beginnen Sie mit den folgenden Deklarationen: < Br / >< Br / > #include < Fstream >< Br / > #include < Iostream >< Br / > #include < Vektor >< Br / > using Namespace std;

2 Definieren Sie die VectorToFile-Klasse. Diese Klasse wird ein bisschen simpel sein. Hält es ein Vektor und eine Funktion zum Speichern des Vektors in einer Datei. < Br / >< Br / > Klasse VectorToFile {< Br / > Öffentliche: < Br / > < Int > Vektor V < Br / > gehen < Br / >< Br / > VectorToFile() {< Br / >} < Br / > gehen < Br / >< Br / > void saveToFile() {< Br / >} < Br / > gehen < Br / >};

3 Schreiben Sie die saveToFile()-Methode. Fügen Sie die folgenden Codezeilen in Ordnung, an die saveToFile()-Methode. Rufen Sie zunächst, den Dateinamen vom Benutzer mithilfe der Norm Cin und Cout Befehle, etwa so: < Br / >< Br / > Char Dateiname [20] < Br / > gehen < Br / > Cout << \"Enter den Namen der Datei verwenden: \" < Br / > gehen < Br / > Cin >> FileName < Br / > gehen < Br / >< Br / > weiter , die Ofstream zu initialisieren oder Ausgabe-Dateistream mit den Dateinamen und "IOS". Dies teilt Ofstream für Ausgabe nur offen zu sein. Andere möglichen Optionen wäre "ios::app", die anweist, den Stream Daten anfügen, anstatt es zu überschreiben und "Ios:binary", die anweist, den Stream, Ausgabe in Binary anstelle von Text. < Br / >< Br / > Ofstream VectorFile (FileName, IOS) < Br / > gehen < Br / >< Br / > schließlich das Array, mit dem Iteratorobjekt Ihres Vektors durchlaufen. < Br / >< Br / > < Int > Std:: Iterator ich < Br / > gehen < Br / > für (ich = v.begin(); i < v.end(); ++ ich) {< Br / > VectorFile << * ich < Br / > gehen < Br / > VectorFile << Endl < Br / > gehen < Br / >}

4 Erstellen Sie eine main-Funktion um die Klasse zu testen. Außerhalb der Klasse deklarieren Sie die main-Funktion wie folgt: < Br / >< Br / > Int main() {< Br / > VectorToFile Vtf < Br / > gehen < Br / > vtf.v.push_back(121) < Br / > gehen < Br / > vtf.v.push_back(144) < Br / > gehen < Br / > vtf.v.push_back(653) < Br / > gehen < Br / >< Br / > vtf.saveToFile() < Br / > gehen < Br / >< Br / >} < Br / > gehen < Br / > < Br / > Ihre neue C++-Programm kompilieren und ausführen. Geben Sie einen Dateinamen gefragt.