Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Vektoren Speichern und Auslesen

Empfohlene Antworten

Veröffentlicht

Ich brauche dringend Hilfe.

Wie kann ich Vektoren in c ++ bei programm ende in einer Datei speichern und bei Programmstart wieder auslesen lassen?

Bitte schnellstmöglich um hilfe (Brauche ein Beispiel bis spätestens 08.07.2003.)

Bitte beachten:

Wir Programmieren in Borland C++ :o/

Das heißt so Header Dateien wie ctime gibts bei uns leider nicht :o(

Thx schonmal im Vorraus für eure Bemühungen!

;)

Was genau verstehst du unter vektoren?

Für mich ist das sowas:


  struct Vertex

  {

    float x;

    float y;

    float z;

  }

Stimmt?

Wenn ja, dann kannst du so ne struktur doch einfach in ein file

mit fwrite reinschreiben, wenn du mehere hast leg sie einfach hintereineander

und ganz vorne noch die anzahl.

Diablo999



#include <vector>
#include <iostream>
#include <iterator>
#include <fstream>
#include <vector>

using namespace std;

int main(int argc, char * argv[])
{
vector<int> myVec;
myVec.reserve(100);
// SInnlosesbefüllen des Vectors, hauptsach da is was drinn
for(int i = 0;i < 100;++i)
myVec.push_back(i);

fstream datei("Ausgabe.txt",ios::out);
if(!datei)
return 20;

// Speichern
datei<<myVec.size()<<" "; // Optional

// Das ist das ganze Speichern. Bei Fragen fragen
copy(myVec.begin(),myVec.end(),ostream_iterator<int>(datei," "));

datei.close(); // Datei schliessen (wollen ja wieder draus lesen

// Lesen

datei.open("Ausgabe.txt",ios::in);
if(!datei)
return 20;

myVec.clear(); // Vector leer machen, sonst heisst es noch ich les nix das stand da ja schon )

vector<int>::size_type size; //Optional
datei>>size; //Optional
myVec.reserve(size); //Optional

istream_iterator<int> begin(datei); // Anfangsiterator auf die Datei
istream_iterator<int> end; // Enditerator



copy(begin,end,back_inserter(myVec)); // Und wieder auslesen.


// Kontrollausgabe ob das auch geht

copy(myVec.begin(),myVec.end(),ostream_iterator<int>(cout," "));



return 0;
}

[/PHP]

Mit dem reserve verhinderst Du dauerndes neualloziieren des Speichers und die damit verbundenen laufkosten. Wenn es also Zeitkritisch wird lohnt es sich die größe mitzuschreiben.

Ansonsten recht einfach , oder ? :o)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.