繁体   English   中英

C ++比较2个文件夹中的文件

[英]C++ Comparing files in 2 folders

我正在为两个文件夹的内容生成哈希。 然后,我想比较所有哈希,一次将文件夹a与文件夹b的所有内容进行比较。

如果它们每个文件都相等,则可以,但是我计划在文件夹B中容纳大约500个文件,在文件夹A中容纳5-10个文件。目前使用的循环即时消息如下

for (i=0;i<nbfiles1;i++)
{
    printf("file1: %s\n", files1[i]);
    for (j=0;j<nbfiles2;j++)
    {
        printf("    file2: %s\n", files2[j]);
        cs=ph_audio_distance_ber(hashes[i],lens[i],hashes2[j],lens2[j],threshold,block_size,Nc);
        double max_f = 0.0;
        for (index=0;index<Nc;index++)
        {
            if (cs[index] > max_f)
                max_f = cs[index];
        }//end if
        printf("    cs = %f\n", max_f);
    }//end for
}//end for

其中nbfiles1是文件夹A中的文件数,nbfiles 2是文件夹B中的文件数

如果每个文件中的文件数相等,则循环工作正常,但是如果文件数不相等,则崩溃。 我知道答案正盯着我,但经过3个小时的观察,我还没有意识到我错了。

当您没有足够的内存或尝试分配无效的大小时,会引发std :: bad_alloc异常。 检查完成内存分配的代码,如果找不到,向我们显示更多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM