Witam. Mam taki problem nad którym trochę już "siedzę". Otóż staram się stworzyć pewien program w którym korzystając z plików tekstowych zapisywane są dane osobowe. Problem tkwi nie w samym zapisywaniu, ale z tego co testowałem w sprawdzaniu czy dane już istnieją. Otóż działa to do trzeciego wczytania linii z pliku. Przy próbie czwartej program się zawiesza i koniec. Kod sprawdzający umieściłem poniżej.

#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif // WX_PRECOMP
#include "czy_dane_istnieja.hpp"
#include "ile_linii.hpp"
#include <wx/textfile.h>

bool czy_dane_istnieja(wxString plik_sprawdzany, wxString plik_porownywany)
{
    const int liczba_l = ile_linii();
    bool tak_czy_nie = false;
    if(liczba_l == 0)
    {
        tak_czy_nie = false;
    }
    else
    {
        wxString tab[liczba_l];
        wxString sprawdzany_string;
        wxTextFile otworz;
        int ile = 0;
        otworz.Open(plik_sprawdzany);
        while(!otworz.Eof())
        {
            if(ile == 0)
            {
                tab[ile] = otworz.GetFirstLine();
                ++ile;
            }
            else
            {
                tab[ile] = otworz.GetNextLine();
                ++ile;
            }
        }
        otworz.Close();
        otworz.Open(plik_porownywany);
            sprawdzany_string = otworz.GetFirstLine();
        otworz.Close();
        for(int a = 0; a < liczba_l; ++a)
        {
            if(tab[a] == sprawdzany_string)
            {
                tak_czy_nie = true;
                break;
            }
            else
            {
                tak_czy_nie = false;
            }
        }
    }
    return tak_czy_nie;
}

Czy ktoś jest w stanie powiedzieć co może być źle czy też jakieś dodatkowe informacje są potrzebne?