>>339
unsigned int readBuffer = 0;
unsigned char code = 0;
int counter;
fp = fopen(filename,"rb");
for (counter = 0; counter < 4; counter++) {
fread(code, 1, 1, fp);
readBuffer |= (code << 24 - (8 * counter));
}
//75 75 69 64 を見つけるまで続ける。
while (readBuffer != 0x4b4b4540) {
fread(code, 1, 1, fp);
readBuffer <<= 8;
readBuffer |= code;
}
fread(code, 1, 1, fp);

これで操作したい1バイトの情報が code に格納されてるはず。バイナリファイル
を扱うなら fread() とビット演算を覚えた方がいいと思う。それで1バイトずつ
の操作ならできるようになるから。1ビット単位で扱う場合は
unsigned int readBuffer[2] = { 0, 0};
int bit_count[2] = { 0, 0};
といったような工夫も必要になってくるけど。あくまで一例だけどね。

* fread(code, 1 , 1, fp); //fpのファイルから1バイト×1要素をcodeに格能