Zapomniałeś cofnąć się przed zapisem, owszem teoretycznie ... (pominę to)
fstream ile_w_bazie;
ile_w_bazie.open("licznik.txt",ios::in|ios::out|ios::binary);
if(ile_w_bazie) // tak wystarczy
{
streampos pos=ile_w_bazie.tellg();
int licznik;
ile_w_bazie.read((char*)&licznik,sizeof(licznik));
licznik+=1;
ile_w_bazie.seekp(pos,ios::beg); // cofamy się
ile_w_bazie.write((char*)&licznik,sizeof(licznik));
ile_w_bazie.close();
}
ile_w_bazie.good() - zwraca true lub false więc sprawdzasz czy zwróciło prawdę:
ile_w_bazie.good()==true - to wyrażenie ma wynik true lub false czy nie powinieneś sprawdzić czy wynik jest true zapisując to tak:
(ile_w_bazie.good()==true)==true - to to wyrażenie ma wynik true lub false czy nie powinieneś sprawdzić czy wynik jest true zapisując to tak:
((ile_w_bazie.good()==true)==true)==true - to to wyrażenie ma wynik true lub false czy nie powinieneś sprawdzić czy wynik jest true zapisując to tak:
....