Вот прога, которая призвана искать заголовки в файле (заголовком считаю строку из 2 байт - FF D8):#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
#define BSIZE 2
int main()
{
FILE *in, *out;
unsigned char buffer[BSIZE];
size_t act_read;
long pos=0, now_pos;
int really_read, i, c;
i = 0;
in=fopen("1.JPG","rb");
out=fopen("1_1.JPG","wb");
printf("\n\nSearching ...\n", i);
while(1)
{
act_read=fread(buffer, BSIZE, 1, in);
if(act_read > 0)
{
fwrite(buffer, BSIZE, 1, out);
if(buffer[0] == 0xFF && buffer[1] == 0xD8)
{
i++;
}
}
else
{
break;
}
}
printf("Searching complete...\n", i);
printf("Found %i file(s)\n\n", i);
}
Поиск ведется в файле 1.JPG. Реально заголовков там, например, 204 шт, а i (счетчик) в конце равно 101.
Что здесь не так?