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

qfsb_p 2003-12-10 02:31:55
我们一般将FindFirstFile和FindNextFile这两个windows的api结合起来用于定位windos os的文件
例如:首先FindFirstFile("*.*", WIN32_FIND_DATA);
然后再用FindNextFile将当前目录中的文件一个一个定位出来
那么这时候FindNextFile根据什么条件来定义文件呢?
是文件名称?创建时间?磁盘位置?
请各位大侠指点一二
谢谢!
...全文
57 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复

随机?

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧