假设一个文件夹下有 1.txt 2.txt 3.txt 4.txt .... 10.txt 10个文件,我需要得到从 4.txt 到 10.txt的文件信息,不要4之前的文件,请问该如何直接从4检索,而不是从文件夹的第一个文件位置开始检索?如果用FindFirstFile("4.txt", &FindFileData);开始查找,那么调用FindNextFile(hFind, &FindFileData)根本不会理会4以外的内容,如果用  FindFirstFile("*.txt", &FindFileData); 开始查找,那么就会把4.txt之前的文件也查找出来。请问有没有其他办法能够实现我的需求呢?千万不要妄想用FindFirstFile("*.txt", &FindFileData); 查找然后自己处理忽略4之前的文件。 因为这只是我的一个例子,实际的应用是文件夹下可能有几万个文件,程序需要的文件可能只是文件夹末尾处的几个连续存放的文件而已。

解决方案 »

  1.   

    千万不要妄想用FindFirstFile("*.txt", &FindFileData); 查找然后自己处理忽略4之前的文件。 因为这只是我的一个例子,实际的应用是文件夹下可能有几万个文件,程序需要的文件可能只是文件夹末尾处的几个连续存放的文件而已。=================================================================根据我个人的经验,你可能只有采用上面的方法进行处理了。因为文件在磁盘上的存放顺序是不确定的,我们在资源管理器看到的顺序排列只是经过排序处理后的结果。
      

  2.   

    在Windows XP与 Windows 2003 Server中,资源管理器使用了一种不同于Windows 2000
    的新的文件名、目录名排序规则,例如:在Windows XP与Windows 2003 Server中:    Ie4_01
        Ie4_128
        Ie5
        Ie6
        Ie401sp2
        Ie501sp2在Windows 2000中:    Ie4_01
        Ie4_128
        Ie401sp2
        Ie5
        Ie501sp2
        Ie6我绝望了。。算了,结贴吧