永发信息网

运行MSDN中CFileFind的成员函数FindFile()的示例代码出现问题,GetFileName()为什么返回的是"."?

答案:5  悬赏:0  手机版
解决时间 2021-11-21 13:25
  • 提问者网友:辞取
  • 2021-11-20 16:19
运行MSDN中CFileFind的成员函数FindFile()的示例代码出现问题,GetFileName()为什么返回的是"."?
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-11-20 17:55
BOOL bWorking = finder.FindFile("*.*");
是查找所有的文件和文件夹,"."和".."是windows中两个特殊的文件夹,分别代表本级目录和上级目录。
如果想区别文件夹和文件,可以通过finder.IsIsDirectory()来判断找到的是否文件夹。
如果文件和文件夹都想查询,仅仅不想找"."和"..",则需要直接判断finder.GetFileName()的值来区别。
全部回答
  • 1楼网友:过活
  • 2021-11-20 22:56
windows的文件目录结构就是这样的。你在cmd下用dir命令查看也有"."和".."这2个文件夹。
  • 2楼网友:神也偏爱
  • 2021-11-20 21:27
在windows系统中,当前文件夹中,用 . 文件夹名表示。
上一层文件夹 用 .. 文件夹名表示 。所以在搜索的时候,会出现这俩个文件夹。
在界面中只是隐藏了。
类似 c++ 中的。 include "..\debug" 表示上一层中的debug 文件夹。
include ".\debug" 表示当前文件夹的debug文件夹。
  • 3楼网友:蓝房子
  • 2021-11-20 20:23
BOOL bWorking = finder.FindFile("*.*");
是查找所有的文件和文件夹,"."和".."是windows中两个特殊的文件夹,分别代表本级目录和上级目录。
如果想区别文件夹和文件,可以通过finder.IsIsDirectory()来判断找到的是否文件夹。
如果文件和文件夹都想查询,仅仅不想找"."和"..",则需要直接判断finder.GetFileName()的值来区别。
  • 4楼网友:旧脸谱
  • 2021-11-20 19:19
.表示当前文件夹,..表示上一级文件夹,这是从DOS传承下来的。比如DOS命令
cd ..
是返回上一层文件夹就是这么来的。
用CFileFind::IsDots函数来判断返回的是不是这两个文件夹,还可以用CFileFind::IsDirectory来判断返回的这个是不是文件夹。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯