Odczyt z pliku, crash

Odczyt z pliku, crash
TA
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:37
0

Witam staram się opanować odczyt i zapis w różnych wariacjach jednak mam mały problem ponieważ po napisaniu czegoś takiego program zawiesza się po 4tej wczytanej linijce... Sprawdziłem wandboxem niby wszystko ok ale widać że tak nie jest ktoś wie w czym leży problem?

Edit. W pliku tekstowym zapisalem 5 linijek.

Kopiuj
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

string zapis,wczyt[5];
int licznik;
fstream plik;

int main()
{
    /*cout<<"Witaj wpisz swoje zdanie aby zachowac je na milenia"<<endl;
    plik.open("jeden.txt",ios::out|ios::app);
    getline(cin,zapis);
    plik<<zapis<<endl;
    */
    plik.open("jeden.txt",ios::in);
    int i=1;
    string linia;
    while(getline(plik,linia))
    {
        wczyt[i] = linia;
        cout<<wczyt[i]<<endl;
        if(i==5)
        {
            break;
        }
        i++;
    }
    plik.close();
    return 0;
}
edytowany 1x, ostatnio: TenAnonim
Roman Kwaśniewski
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:52
3

Komórki tablicy w c++ numeruje się od 0. Twój program przy wczytywaniu 5 linijki próbuje zapisać ją do wczyt[5], a tablica wczyt ma tylko 5 komórek: wczyt[0], wczyt[1], wczyt[2], wczyt[3] i wczyt[4]

TA
Fakt zapomniałem że określam ilość komórek a nie indeks ostatniej... Dzięki;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.