读书人

怎么比较文件夹?请回答

发布时间: 2012-04-21 14:34:44 作者: rapoo

如何比较文件夹?请回答
我现在有两个文件夹A和B,A是放在服务器上的文件夹,B是从服务器下载下来以后的文件夹,我要比较这两个文件夹中的文件总数量和大小是否相同,请问哪位能告诉我写这个程序的基本思路,是否要用到md5算法

[解决办法]
先判断总量是否一样,用FindFirstFile等方法进行查找统计,同时记录所查找文件的大小,放在两个不同的数组中。
然后就用快速排序法,把记录文件大小的数组进行排序,最后再一次循环进行对比
[解决办法]
CFileFind
[解决办法]
打开目录、读取文件名列表到链表或者数组或者容器等玩意儿,比较这2个东西就可以了。
opendir(filepath);
while (dirEnv=readdir(firstDir))
{
if (strcmp(dirEnv->d_name,".")==0 ||
(strcmp(dirEnv->d_name,"..")==0
continue;
strpy(fileName,dirEnv->d_name);
}
大概就是这样了
[解决办法]
哥儿们你结贴率为0。人家告诉你方法了还不愿意自己动手就想等现成的。你这问题都发了3个帖子了
[解决办法]

C/C++ code
#include <dirent.h> DIR *dataDir,*idxDir,*firstDir;struct dirent *dirEnv;char filepath="/data/path/";vector<string> filename;firstDir=opendir(filepath);//打开目录while (dirEnv=readdir(firstDir))//循环读取目录{    if (strcmp(dirEnv->d_name,".")==0 || strcmp(dirEnv->d_name,"..")==0 )//如果是父目录或者本目录直接跳过,如果你还有子目录的话,光这样判断还不行,还要读取属性来判断是文件还是目录,且需要递归调用      continue;    filename.push_back(dirEnv->d_name);//放到fialname容器里}
[解决办法]
C语言方法:定义一个char* *p; 照楼上的办法,遍历,每次realloc(p)扩增一个char*,给strdup文件名到char*上,最后qsort,两个文件夹都如此操作,之后遍历一遍对每个char*做strcmp。

读书人网 >C语言

热点推荐