Ako sam dobro razumeo, seekg() ti uopste ne treba jer se pokazivac za sledece citanje automatski pomera unapred nakon citanja.
Ukratko:
* Treba da ukljucis biblioteku za rad sa fajl streamovima:
#include <iostream>
* Treba ti Buffer gde ces smestiti dvobajtne vrednosti:
char buff[3]={0};
Ovime smo automatski stavili NULL na poslednji, treci karakter, kako bismo kasnije lakse baratali sa sadrzajem. Ne mora tako ako znas sta ces kasnije sa sadrzajem, tj. ako ga neces ispisivati kao string. Tada je dovoljno: char buff[2];)
* Potrebno je da utvrdis da li je fajl otvoren i da utvrdis da li se stiglo do kraja streama. Usput, treba preskociti prva 4 bajta - citamo dva pa dva, da ne unistimo treci NULL u Bufferu koga smo prethodno pripremili. Kasnije u petlji citamo redom dvobajtne vrednosti, sve do kraja datoteke
Code:
// NETESTIRANO !!!
if ( datafile.is_open() )
{
// preskacemo 4 bajta
datafile.read( buff, 2 );
datafile.read( buff, 2 );
// dok god je stream ispravan
while ( datafile.good() )
{
datafile.read( buff, 2 );
// sada ispisujemo sadrzaj da vidimo da li je citanje ispravno, zato nam treba NULL na trecem karakteru
cout << buff << endl;
}
datafile.close();
}
else cout << "Unable to open file";