Problem z kodem, blad kompilatora z funkcja getline w petli while.

0

Witam, mam problem z wczyteniem informacji z zapisu .txt. Wszystko sie zapisuje, ale program ma problem zeby skompilowac kod po tym jak dodałem do niego funkcje wczytaj.
Wypisuje błąd: no matching function call to 'getline(std::ifstream&, int&)'
Kod wygląda następująco:

    if(x==8) // zapis gry
    {
        fstream plik;
        plik.open("zapis.txt", ios::out);
        plik<<marchewkizeb<<endl;
        plik<<marchewki<<endl;
        plik<<pola<<endl;
        plik<<pln<<endl;
        plik<<dni<<endl;
        plik<<ulepszenie<<endl;

        plik.close();
    }

    if(x==9) //wczytaj
    {
ifstream plik;
plik.open("zapis.txt", ios::in);
        if(plik.good()==true);
        {

int  linia;
int nr_linii=1;

while(getline(plik,linia))
{
    switch(nr_linii)
    {
        case 1:  marchewkizeb=linia; break;
        case 2: marchewki=linia; break;
        case 3: pola=linia; break;
        case 4: pln=linia; break;
        case 5: dni=linia; break;
        case 6: ulepszenie=linia; break;
    }
}

        }

        if(plik.good()==false);
        {
            cout<<"Zapis nie istnieje."<<endl;
        }
    }

include:
#include <iostream>
#include <windows.h>
#include "zmienne.h"
#include <fstream>
#include <string>
#include <cstdlib>
0

http://www.cplusplus.com/reference/string/string/getline/

int linia

Nie ma getline, który jako drugi argument przyjmuje inta.

1

Może zanim zaczniesz odkrywać błędy kompilatora, otworzysz oczy na własne

if(plik.good()==true);
if(plik.good()==false);

switch(nr_linii) // gdy nigdy się nie zmienia, wklejałeś z kilku gugli?

Generalnie to jest jakaś sieczka, gdybyś formatował sam byś zauważył te średniki. Kod bez początku, bez końca ...

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