instream problem
-
ich habe ein problem:
ich möchte aus verschiedenen textdateien daten auslesen.
ich habe erstmal mit dem ansatz angefangen, einen filstreamarray zu erstellen und dann variablen ungefair so nach dem abspeichern im buffer anzusprechen:datei[i].wert[k];
und das in einer zweifachen for-schleife.
nun, es ist nicht gerade leicht dies durchzusetzen, da ich (zumindest gestern) den überblick verloren habe.
jetzt möchte ich einfach die dateien mit einer ifstream-anweisung laden(der wert in ifstream wird bei jedem schleifendurchgang verändert) und dann die variablen eindimensional abspeichern(datei[dim1].variavle[2] ist ja 2-dim).
so existiert als problem nur meine unwissenheit. ich muss bei jedem schleifendurchgang einem zeiger[] mit new x um die vorhandenen datensätze in der datei erweitern.
frage: wie würde dazu der code aussehen(ich brauche natürlich den teil mit der new anweisung und dem hinzufügen)?
-
Hallo,
Nimm statt einem Array lieber vector. Da kannst du leicht mit push_back Elemente hinzufügen.
Was meinst du eigentlich mit:der wert in ifstream wird bei jedem schleifendurchgang verändert
?
-
sowas in der art:
for(;;){
ifstream file = getAr(i);
....
}ich hätte aber gerne einen array

-
Was ist denn dieses getAr(i) ?
Du kannst streamklassen nicht kopieren. Du könntest höchstens ein Array mit Pointern auf diese Streams verwenden.
-
string DB[10]
string a;
cin >> a;
ifstream file = getAr(i);so der ungefaire ablauf. müsste doch gehen.
-
ja, es geht....
-
Mir ist immer noch nicht klar was du hier machen willst?
fstream file = getAr(i);gibt getAr() eine Referenz auf ifstream zurück?
-
nein, lediglich einen string, aber das ist ja nicht wichtig solange die ifstream variable auch richtig gefüllt ist(das ist sie).