Witam,
Mam problem z wypełnieniem struktury danych z pliku *.txt - kod poniżej. Przy pierwszym przejściu (a=0) wszystko jest OK. Gorzej gdy a > 0 - wtedy każda zmienna ze struktury poza .lp przyjmuje taką wartość jaką aktualnie ma zmienna linia... Nie mam pomysłu dlaczego i co z tym zrobić, dlatego prosze o pomoc.
void main(void)
{
int *wsk;
int liczba=0;
wsk = &liczba;
struct ksiazka_tel {
int lp;
char * imie;
char * nazwisko;
char * telefon;
};
ksiazka_tel baza[49];
ifstream ksiazka("ksiazka.txt");
char linia[30];
int ilelinii=0;
int ilewpisow;
while (!ksiazka.eof())
{
ksiazka.getline(linia, 27);
ilelinii++;
}
ksiazka.close();
if(ilelinii - 1 == 0)
{
ilewpisow = 0;
}
else
{
ifstream ksiazka("ksiazka.txt");
int a=0, b;
for(b=1; b<ilelinii; b++)
{
ksiazka.getline(linia, 27);
if(b==((a * 3) + 1))
{
baza[a].lp = (a + 1);
baza[a].imie = linia;
}
if(b==((a * 3) + 2))
{
baza[a].nazwisko = linia;
}
if(b==((a * 3) + 3))
{
baza[a].telefon = linia;
a++;
}
}
ksiazka.close();
}
}
Zawartość ksiazka.txt:
Marian
Kolasa
+34918888718432
Adam
sa
+349188887181
Mateusz
Mas
+3491888871834
(pusta linia)