Witam,
napisałem klasę, która czyta z pliku. Klasę, bo chcę ją wykorzystać też w innych programach.
#include <iostream>
#include <fstream>
using namespace std;
///////////////////////////////////////////////
class baza {
fstream plik;
public:
baza(){
plik.open("nazwiska.txt", ios::in | ios::out | ios::ate);
fstream plik("nazwiska.txt");
};
void czytaj();
};
/////////////////////////////////////////////
void baza::czytaj() {
int licznik =0;
string wers[10];
fstream plik("nazwiska.txt");
while(getline(plik,wers[licznik]) )
{
cout<<wers[licznik]<<endl;;
licznik++;
}
}
//////////////////////////////////////////////
int main()
{
baza nazwiska;
nazwiska.czytaj();
return 0;
}
Chciałem, żeby plik był dostępny z całej klasy, otwierany już przy jej inicjalizacji. Dlatego
fstream plik("nazwiska.txt");
wpisałem w konstruktor. Ale okazuje się, że bez wpisania tej linijki do funkcji
czytaj()
program nie widzi tego pliku. Tak, jakby był wciąż zamknięty i nic o nim nie wiedział. Czy ktoś jest mi w stanie wytłumaczyć dlaczego tak się dzieje? Przecież fstream wywoływane jest już przy inicjalizacji klasy.