problem z wczytywaniem bajtow z pliku binarnego

0

Witam. Wczytuję sobie jakiś plik binarny i potem robię coś takiego:

 while(fread(&bajt,sizeof(char),1,wej)==1) /* zliczanie bajtow */
		bajty[(int)bajt]++;

I teraz zagadka: dlaczego program widzi tylko bajty z zakresu 0-127 ?
Jak to naprawić? Bardzo proszę o pomoc, termin goni :/

0

Zapomniałem dodać
bajt to zmienna typu char (bo char ma wielkość bajta prawda?)

0

Zaraz zaraz czyli char to nie to samo co unsigned char? Zawszy myślałem, że chara nie dotyczy znak.
A w C jest coś takiego jak byte? Muszę pisać w C99, nie c++.

0

Oj mój błąd jako byte miałeś na myśli nazwę zmiennej czyli u mnie 'bajt'.
Twoja rada nie pomogła, program dalej nie widzi nic większego od 127 :(
Nie rozumiem dlaczego tak jest

unsigned int bajty[256]; /* do zliczania zeby nie poruszac sie po liscie */
	unsigned char bajt;
...
while(fread(&bajt,sizeof(bajt),1,wej)==1) /* zliczanie bajtow */
		bajty[(int)bajt]++;
 

i dalej to samo

0

Działa !
Głupi jestem nie skompilowałem po poprawce :D
Dzięki wielkie

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