Problem z ponownym odczytem pliku

0

Cześć mam problem z ponownym otwarciem pliku txt . Gdy wyłam funkcję za pierwszym razem plik normalnie się otwiera. Natomiast za drugim plik się nie otwiera.
Czy wiecie o co chodzi?

void otworzTxt(enemy* obiekty, frogger* player, float* pszolaPraw, float* zabaPraw, float* piesekPraw,char* obecnyEtap,int* czasGry)
{       
        int liczbaPostaci;
        int nrLini = 1;
        string sciezka = "C:\\projektpp\\plikitxt\\etap1.txt";
        sciezka[26] = *obecnyEtap;
        fstream plik;
        plik.open(sciezka, ios::in);
        if (plik.good() == false)
        {
            cout << "plik nie istnieje";
        }
        string linia;
        while (getline(plik, linia))
        {
            if (nrLini > 10)
            {
               // getline(plik, linia);
                obiekty->liczbaPostaci= atoi(linia.c_str());
                nrLini++;
                getline(plik, linia);
                obiekty->predkosc = atoi(linia.c_str());
                nrLini++;
                getline(plik, linia);
                obiekty->sciezkaBmp = linia;
                nrLini++;
                getline(plik, linia);
                obiekty->name = linia;
                nrLini++;
                int liczbaPostaci = obiekty->liczbaPostaci;
                while (--liczbaPostaci>=0 )
                {
                    getline(plik, linia);
                    obiekty->position[liczbaPostaci].x = atoi(linia.c_str());
                    nrLini++;
                    getline(plik, linia);
                    obiekty->position[liczbaPostaci].y = atoi(linia.c_str());
                    nrLini++;
                    getline(plik, linia);
                    obiekty->position[liczbaPostaci].h = atoi(linia.c_str());
                    nrLini++;
                    getline(plik, linia);
                    obiekty->position[liczbaPostaci].w = atoi(linia.c_str());
                    nrLini++;
                }               
                obiekty++;                    
            }
            else
            {
                switch (nrLini)
                {
                case 1:*czasGry = atoi(linia.c_str());
                    break;
                case 2:*obecnyEtap = atoi(linia.c_str());
                    break;
                case 3:*pszolaPraw= atoi(linia.c_str());
                    break;
                case 4:*zabaPraw = atoi(linia.c_str());
                    break;
                case 5:*piesekPraw = atoi(linia.c_str());
                    break;
                case 6:player->liczbaZyc = atoi(linia.c_str());
                    break;
                case 7:player->position.x= atoi(linia.c_str());
                    break;
                case 8:player->position.y = atoi(linia.c_str());
                    break;
                case 9:player->position.w = atoi(linia.c_str());
                    break;
                case 10:player->position.h = atoi(linia.c_str());
                    break;              
                }
                nrLini++;
            }
        }
        plik.close();
        if (!plik.is_open())
        {
            cout << "plik nie zamkniety";
        }
}

0

Problem polega na tym że plik się nie zamyka

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