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).


Anmelden zum Antworten