czytanie tylko od drugiej linii z pliku - nie dziala.

0

W pierwszej linijce tekstu zapisany jest licznik(5,8 lub 10).
Chce go tylko odczytac i pozniej zaczac czytanie od drugiej linii w for'ze tablicy.

Jak najprościej to zrobić? Bo nie chce robic getline zeby zczytywał liniee i pozniej w forze napisac ze od drugiej tylko itp itd...

void mapa::wczytaj(){

    cout << "Podaj nazwe pliku do wczytania (wraz z .txt):" << endl;
    string nazwapliku;
    cin >> nazwapliku;

    fstream plik;
    plik.open(nazwapliku.c_str(), ios::in);

        if( plik.good() == true ){
            cout << "Plik zostal otwarty!" << endl << endl;
        }
        else cout << "Pliku nie otwarto - nie istnieje." << endl << endl;

    int licznik;
    plik >> licznik;
    cout << licznik;

    plik.close();

    ///////////////
    plik.open(nazwapliku.c_str());

    for(int i=0;i<licznik;i++){ // wczytywanie z pliku danych do tablicy
        for(int j=0;j<licznik;j++){
            plik >> tab[i][j];
        }
    }
    plik.close();

    cout << "Wczytana tablica:" << endl << endl;
        for(int i=0;i<licznik;i++){ // wypisywanie wczytanej z pliku tablicy
            for(int j=0;j<licznik;j++){
                cout << tab[i][j] << ' ';
            }
        cout << endl;
        }
}
0

Wystarczy nie zamykać pliku, nie otwierać go jeszcze raz, normalnie kontynuj czytanie.

0

racja, sprytne rozwiazanie, ale co jesli nie bylaby to jedna liczba, a jeszcze tekst do tego w jednej linii? :)
wtedy zaczynaja sie schody, ale niewazne juz, z ciekawosci juz kombinuje:P getlinem wtedy trzeba latac?

0

while((plik)&&(plik.get()!='\n')) {}

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