Zczytywanie znaków z pliku ".exe"

0

Mam problem z pobieraniem znakow z pliku typu ".exe". W pliku jest ponad 400000 znaków a mój program pobrał tylko ponad 4000. Załączam część kodu z programu:

 fstream wsk_pliku;
    wsk_pliku.open(naz_pliku_wej, ios::in);
	
    if (wsk_pliku == NULL)
	{
		cout<<"Nie mozna otworzyc pliku "<< naz_pliku_wej << endl;
		return 0;
	}
	if (wsk_pliku != NULL)
    {
	cout << "Czytanie pliku "<< naz_pliku_wej <<" do wyznaczenia modelu"<<endl;	
    do
    {
       c=wsk_pliku.get();
       tabs[d]=c;
       if(tabs[d]>=0)
       d++;
       liczba_znakow ++;
    } while(tabs[d] != EOF);
1

ios::in | ios::binary

0

teraz liczba wszystkich znakow wynosi ponad 9000 :p

0

Ano - nie możesz też korzystać z while(tabs[d] != EOF);.
http://courses.cs.vt.edu/cs2604/fall01/binio.html

0
Radoix napisał(a):

teraz liczba wszystkich znakow wynosi ponad 9000 :p
Bo lecisz do pierwszego nie dodatniego.

char ch;
while(wsk_pliku.get(ch)) tabs[liczba_znakow++]=ch;
0

Działa. Dzięki za pomoc :)

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