FindFirstFile和FindNextFile查找文件的顺序问题

看了网上很多讨论这两个函数的用法,但是不知道各位有没有注意到FindFirstFile找到的第一个文件规则是什么,我所看到的是在NTFS格式的磁盘中找到的第一个文件是创建时间最新的文件,而且它的首字母是排在具有同等时间的最前面,然后FindNextFile再根据第一个文件按照字母排序的方式进行下一个文件的查找。如果存在两个文件夹A和B,如果B的创建时间比较新,那么第一找到的就是B文件夹,然后FindNextFile就不可能会找到A文件夹,所以就会出现遍历少了A文件,请问如何才能做到找到的第一个文件是按字母排序的第一个来找的。

具体我也不是很清楚,但是你先用findfiirst再用findnext是可以遍历文件夹下所有的,而且我这边是顺序的,下面是一个实例

#include <stdio.h>
#include <io.h>


int main (void)
{
    _finddata_t fileDir;
    char *dir="d:\\chn\\*.*";
    long lfDir;

    if((lfDir = _findfirst(dir,&fileDir))==-1l)
        printf("No file is found\n");
    else{
        printf("file list:\n");
        do{
            printf("%s\n",fileDir.name);

        }while( _findnext( lfDir, &fileDir ) == 0 );
    }
    _findclose(lfDir);

    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-18
想问问楼主问题解决了没?
相似回答
大家正在搜