kiedy dane struktury już nie będą potrzebne, koniecznie zwolnić pamięć:
delete[] t.temat;
delete[] t.opis;
Nie rozumiem tylko jednego w twoim wczytywaniu, jaki sens wczytywać coś w pętli nie robiąc po drodze nić z tymi danymi. Może chodziło o dynamiczną rezerwacje pamięci na całą tablice struktur?
int a=5;
termin *t = new termin[a];
fstream plik;
plik.open("terminy.txt", ios::in);
};
for (int i=0;;i++) {
plik>>t[i].rokp;
plik>>t[i].rokk;
plik>>t[i].dzienp;
plik>>t[i].dzienk;
plik>>t[i].godzp;
plik>>t[i].godzk;
plik.getline(t[i].temat, 25, '|');
plik.getline(t[i].opis, 250, '|');
cout<<"p: "<
if(!plik) break;
};
plik.close ();
};
W nim definiuje że strukture 5 elementowa, ale ja chce aby struktura miały tyle elementów ile np. jest linijek w pliku. I szukam na to jakiegoś optymalnego rozwiązania. W tym wypadku chyba starczy policzyc linijki pliku najpierw a potem utworzyć nowa stukture n-elementową. Tylko czy:
Jest to dobre rozwiązanie?
Jak policzyć linijki pliku, omijając dane jakie się w tej linijce znajdują?
Przykładowy plik:
I przy okazji, ten programik co zamieściłem wyżej wczytuje mi o jedna linijke pliku za dużo, jak go poprawić?