vector mit std::ifstream
-
Wieso gibt folgender Code nicht die erste Zeile der Datei aus?
Hat es etwas mit dem Vector zu tun? (im echten code hat der Vector natürlich mehrere Elemente)#include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; int main(void) { string str; vector<std::ifstream> fsv(1); fsv.at(0).open("Dateiname"); if(fsv.at(0) == NULL) { cout << "fehler" << endl; return 1; } getline(fsv.at(0), str); cout << str << endl; return 0; }[ Dieser Beitrag wurde am 24.06.2003 um 12:54 Uhr von amartin755 editiert. ]
-
Würde mich wundern, wenn es überhaupt compiliert. Oder meinst du das mit "gibt die erste Zeile nicht aus" ?
Die Elemente für eine Vektor brauchen einen Copy-Konstruktor. Das hat aber ein fstream nicht. Du kannst höchstens einen vector mit Zeigern auf fstreams machen.
-
Danke für die schnelle Hilfe.
Ich hab befürchtet dass ein Vector mit fstreams nicht möglich ist.