struktury + operacje na plikach

0

mam problem, w poniżym kodzie zaimplementowany jest algorytm który ma odczytywac dane z pliku i zapisywać je wg utworzonej struktury. Problemem jest to że do elementów string struktury nic nie jest zapisywane:

plik z którego są wczytywane te dane ma taką postać:

Franek Koza 6702452
Irek Drzewo 6788998
Jurek Pies 6784214

struct person
{
        string name;
        string surname;
        string phone;
};

void main()
{
        int i;
        person people[10];
        string d;
        ifstream in;
        in.open("d:\d.in");
        if(in.fail())
        {
                cout<<"error while opening the file";
                exit(1);
        }
        for(i=0;i<-1;i++)
        {
                if(in.eof()) break;
                in>>people[i].name; //tutaj powinien zapisywac slowo po slowie a nie robi tego
                in>>people[i].surname; //j.w
                in>>people[i].phone;//j.w
        }
        in.close();
        for(i=0;i<4;i++)
        {
                cout<<people[i].name<<" "<<people[i].surname<<" "<<people[i].phone<<"\n";
        }
        getch();
}

UPDATE
bład był w parametrze pętli !
MOZNA USUNĄĆ TEN TEMAT, SORRY !

0

napisales ze jest to zle to napisz jak powinna wygladac ta petla
tutaj jest jedno z wielu rozwiazan

        i = 0;
        while(!in.eof())
        {
                in>>people[i].name;
                in>>people[i].surname;
                in>>people[i].phone;
                ++i;
        }
        in.close();
0

xeryph dokładnie ;) po co się w takiej pętli z for paprać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1