gpt4 book ai didi

c - 如果一个二进制文件的内容出现在另一个二进制文件中,如何在 C 中搜索?

转载 作者:行者123 更新时间:2023-11-30 20:31:32 25 4
gpt4 key购买 nike

我需要获取一个二进制文件并搜索其内容是否出现在我读取的其他二进制文件中。我应该使用内置函数吗?

最佳答案

您可以使用命令 fread 创建两个缓冲区,在每个缓冲区中存储二进制文件。 。比较要搜索的行并计算连续有多少个匹配字节例如:

int i = 0;
int isInfected = 0;
char* virusSign = 0;
int count = 0;
int size = 0;
int fileSize = 0;
int index = 0;
char* buffer = 0;

注意:本例中的“病毒”是我正在搜索的二进制内容。虽然 destFile 是我正在搜索的文件二进制文件:

while (index < fileSize && !isInfected)
{
if (virusSign[i] != buffer[index] && count != size - 1)
{
i = 0;
count = 0;
}
else
{
count++;
}
if (count == size)
{
isInfected = TRUE;
}
i++;
index++;
}
if (virus != NULL)
{
fclose(virus);
}
if (destFile != NULL)
{
fclose(destFile);
}

关于c - 如果一个二进制文件的内容出现在另一个二进制文件中,如何在 C 中搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50433656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com