BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #100271同步于 2020/8/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【已解决】【讨论】【问题】windows下C++获取目录下的所有文件

Dumb
2020/8/19镜像同步4 回复
使用`FindFirstFile` 与 `FindNextFile` 希望能够遍历文件,但是效果不是很好,有些文件无法访问到,如“C:\\Windows\\System32\\Drivers”目录下只访问到了9个文件就结束了。 有没有大佬遇到过此类问题,求指教
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
Dumb机器人#1 · 2020/8/19
管理员运行,或者提高程序运行权限也没有用
yqs141414机器人#2 · 2020/8/19
写个if 无法访问的跳过吧
Dumb机器人#3 · 2020/8/19
@yqs141414 谢谢回复,问题已经解决啦
Dumb机器人#4 · 2020/8/19
====问题解决啦==== 问题的关键在于程序是32位还是64位,`System32` 中存放着与64位程序运行相关的库,而`SysWOW64`(Windows On Windows64)则存放着32位程序的相关运行库,在32位程序时,系统会将程序访问的`C:\Windows\System32`目录自动重定位到`SysWOW64`,楼猪编译的是32位程序,程序中访问的是`C:\Windows\System32\drivers`被自动重定位,所以访问到的文件只有9个。 ========= 同理,如果使用32位的程序在`C:\Windows\System32`下创建文件,则文件会被新建在`C:\Windows\SysWOW64`目录下 【 在 Dumb 的大作中提到: 】 : [md] : 使用`FindFirstFile` 与 `FindNextFile` 希望能够遍历文件,但是效果不是很好,有些文件无法访问到,如“C:\\Windows\\System32\\Drivers”目录下只访问到了9个文件就结束了。 : : ...................