Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Array von streams

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.02.2006, 16:14 Uhr
~GuyJoe
Gast


Hallo zusammen,

ich würde gerne ein Array von mehreren ifstream deklarieren (weil ich mehrere Dateien zeilenweise gleichzeitig einlesen will) aber ich komm mit der Syntax nicht so ganz klar. Mein Programm sieht in etwa so aus:


C++:
int main(){
    ifstream *streamArray;
  
    //berechne Grösse (size)
    streamArray = new ifstream[size];
    
    //intitialisiere streams
    for(unsigned int i = 0; i < size(); i++){
        streamArray[i] = ... /// ???
    }
}



Was muss ich bei den ... hinschreiben damit jeder stream initialisiert wird ?
Mit streamArray[i] = ifstream input("test.txt") klappt es nicht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.02.2006, 16:38 Uhr
virtual
Sexiest Bit alive
(Operator)


Nein, so geht das auch nicht:

C++:
   streamArray = new ifstream[size];


legt ein Array von size ifstreams an; Für jedes der size StreamObjekte wird de Default constructor aufgerufen. Dh nach dieser Zeile hast Du size streams. Wenn Du sie später erst erzeugen willst, dann mußt Du streamArray als ifstream** Declararieren und die Streams einzeln mit new erzeugen bzw mit delet löschen.

Jedenfalls wird im obigen Beispiel

C++:
streamArray[i] = ... /// ???


als der Versuch gewertet, einen Zuweisungoperator der Klasse ifstream aufzurufen. Dieser ist jedch bei Streams nicht erlaubt, du solltest bei einem entsprechenden Aufruf eine berechtigte Meldung bekommen.
Kurz und knapp: Du brauchst die Streams nicht extra zu "initialisieren", was Du tun must, ist sie direkt mit open öffnen:

C++:
streamArray[i].open("dateiname");


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: