c语言特征码匹配,求大神帮帮忙

为什么匹配老是不成功啊
代码如下

ch = fread(list, 1, sizeof(list), rb+);
printf("ch is %d\n", ch);
for (int i = 0; i < 6000; i++)
{
cout << list[i];
//printf("%c",list[i]);
b = memcmp(list, id1 ,32);
c = memcmp(list, id2, 64);
cout << b << endl;
cout << c << endl;
if (b==1||c==1)
{
a++;
}
flag++;
}
cout << a;
if (a == 2)
{
printf("it is a virus!");
}
else {
printf("it is not a virus!");
}
fclose(fp);

你这个for()循环的意义何在?b = memcmp(list, id1 ,32);c = memcmp(list, id2, 64);你一直比较的是list的前32位和64位,
你循环再多次数都是一样的结果啊。