C 如何检查一个大的二进制文件是否包含另一个文件的内容?

C 如何检查一个大的二进制文件是否包含另一个文件的内容?,c,file,C,File,这些文件是从主argv获取的,我得到了一个图像的大二进制文件,我试图将它与一个小文件进行比较,这个小文件包含大文件中的某个文本 我试图从大文件和小文件中获取数据,但我不知道如何比较它们 这是我到目前为止写的: int main(int argc, char* argv[]) { char* virusSign = (char*)malloc(strlen(argv[2]) * sizeof(char)); FILE* inp; FILE* data; FILE*

这些文件是从主argv获取的,我得到了一个图像的大二进制文件,我试图将它与一个小文件进行比较,这个小文件包含大文件中的某个文本 我试图从大文件和小文件中获取数据,但我不知道如何比较它们

这是我到目前为止写的:

int main(int argc, char* argv[])
{
    char* virusSign = (char*)malloc(strlen(argv[2]) * sizeof(char));
    FILE* inp;
    FILE* data;
    FILE* logAnswer;
    FILE* virusSign;
    logAnswer = fopen("log.txt", "w");
    data = fopen("data.txt", "a");
    printf("Welcome to my virus scanner!!\n");
    switch (argc) 
    {
    case 3:
        inp = fopen(argv[1], "rb");
        virusSign = fopen(argv[2], "rb");
        if (virusSign == NULL)
        {
            fprintf(stderr, "Could not open file '%s'\n", argv[2]);
            return EXIT_FAILURE;
        }
        if (inp == NULL) 
        {
            fprintf(stderr, "Could not open file '%s'\n", argv[1]);
            return EXIT_FAILURE;
        }
        break;
    default:
        printf("you were asked to put a folder and a virus sign");
        return EXIT_FAILURE;
    }
    //getting the files data
    data_getter(inp, data);
    if (virusChecker(virusSign, data))
    {
        fputs();
    }
    fclose(data);
    return EXIT_SUCCESS;
}```

使用
memcmp
检查文件中每个可能位置上签名的大小和内容。
无法打开文件“%s”
是一条无用的错误消息。提供理由。例如:
if((virusSign=fopen(argv[2],“rb”))==NULL){perror(argv[2]).
抱歉,您的程序未编译:请阅读并编辑您的代码片段以创建可编译和可测试的代码样本,因此我们不需要修改它来进行诊断。如果我们需要修改您的代码以进行测试,我们可以修复影响您的问题,并使您的post变得毫无希望。请更正编译错误并重新发布。post also、 如果可能的话,你希望从程序中得到什么,以及你实际从中得到什么。发布一个你编译过的程序并显示错误。