• 全部
  • 问答

Windows中的FindNextFile api的定位的条件是什么?

qfsb_p 2003-12-10 02:31:55
我们一般将FindFirstFile和FindNextFile这两个windows的api结合起来用于定位windos os的文件
例如:首先FindFirstFile("*.*", WIN32_FIND_DATA);
然后再用FindNextFile将当前目录中的文件一个一个定位出来
那么这时候FindNextFile根据什么条件来定义文件呢?
是文件名称?创建时间?磁盘位置?
请各位大侠指点一二
谢谢!
...全文
21 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qfsb_p 2003-12-11
谢谢,结贴
回复
glacierrr 2003-12-10
msdn上讲的按名字来查找的,这个查找顺序和文件系统有关。NTFS以字母顺序,而FAT则以文件写入磁盘的顺序,也就是时间了。
就是layman2008(eniac) 写的那一段
回复
qfsb_p 2003-12-10
应该不是无序的,可能是根据字母表顺序
回复
lyr311 2003-12-10
我用过这个函数,当时就是因为出来的是无序的还很恼火了一阵,我觉得好像是随机的(又不像,可能是 rtdb(东临碣石)所说的按磁盘位子排的吧),我也是读出文件名后进行手动排序的,想按时间就按时间,想按名字就按名字排序罗。
回复
qfsb_p 2003-12-10
layman2008(eniac) ,按照你的说法,就是说在ntfs和cdfs下,文件名是按字母表的循序;而fat的话,就是按照物理循序?
回复
qfsb_p 2003-12-10
rtdb,我测试过,和创建时间没有关系。
回复
rtdb 2003-12-10
就我的使用经验, 好象是创建时间,
但我想更可能是磁盘位置。因此我宁愿读出后自己重新排序。


回复
layman2008 2003-12-10
The FindNextFile function searches for files by name only; it cannot be used for attribute-based searches.

The order in which this function returns the file names is dependent on the file system type. With NTFS and CDFS file systems, the names are returned in alphabetical order. With FAT file systems, the names are returned in the order the files were written to the disk, which may or may not be in alphabetical order.

回复
hanyixin 2003-12-10

随机?

回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

5.9w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2003-12-10 02:31
社区公告
暂无公告