Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Odczyt z pliku i zapis do vektora obiektów - C++

ptaq1506 13 Lut 2012 20:46 1884 8
  • #1 13 Lut 2012 20:46
    ptaq1506
    Poziom 6  

    Witam wszystkich, mam taki kod, potrzebuję funkcji, która odczyta z pliku dane i zapisze z powrotem do vektora, i nie bardzo wiem, jak to powinno wyglądać ;/ Proszę o pomoc.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0 8
  • #2 13 Lut 2012 21:58
    Ksysiek
    Poziom 14  

    Po kodzie można domyślić się, że chodzi ci o C++, ale następnym razem możesz napisać w nazwie tematu nazwę języka.

    0
  • #3 14 Lut 2012 17:13
    LED5W
    Poziom 32  

    W kodzie są błędy uniemożliwiające kompilację. Popraw je, wtedy będziesz się mógł zająć potrzebną funkcją.
    Ułatw pracę, jeśli nie sobie to przynajmniej ludziom, których prosisz o pomoc - stosuj ładne wcięcia (w VS skonfigurowanym pod C++ wystarczy nacisnąć Ctrl+A (zaznacz wszystko), Ctrl+K, Ctrl+F). Kontroluj puste linie w kodzie.

    0
  • #4 14 Lut 2012 23:11
    ptaq1506
    Poziom 6  

    To z pośpiechu :) Poprawiłem kod, teraz się kompiluje.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #5 15 Lut 2012 03:53
    the_fifth_horseman
    Poziom 32  

    Ot, cała filozofia:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Ewentualnie - ale to już kosmetyka - zamiast seekg można by skorzystać z
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Na przyszłość polecam dokumentację i przykłady dostępne na http://www.cplusplus.com/ .

    0
  • #6 15 Lut 2012 17:46
    ptaq1506
    Poziom 6  

    Dziękuję za pomoc, ale coś jest chyba nie tak. Po wywołaniu funkcji wgrajOsoby()
    funkcja powinna wgrać wcześniej zapisane osoby z pliku i wyświetlić je przez wywołanie Lista.back() - a ta wyświetla jakieś przypadkowe wartości ;/

    Dodano po 47 [minuty]:

    OK, już działa, pomieszałem coś w kodzie. Tylko nie wiem jeszcze, dlaczego wczytuje mi plik 2 razy, tzn. tak jakby pętelka robiła 2 obroty, podczas gdy w pliku jest tylko jedna osoba do wczytania?

    0
  • #7 15 Lut 2012 18:58
    LED5W
    Poziom 32  

    Cała tajemnica tkwi w działaniu funkcji eof(). Zwraca ona true po pierwszym nieudanym odczycie. Rozwiązać możesz to tak:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod
    lub tak:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #8 16 Lut 2012 01:19
    ptaq1506
    Poziom 6  

    Poprawiłem kod, ale teraz funkcja się zapętla ;/ Nie mam pojęcia dlaczego?

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #9 16 Lut 2012 09:55
    ptaq1506
    Poziom 6  

    ok już wszystko gra :) , zamykam

    0