CFileFind的成员函数GetFileName()为什么返回的是"."?
2014-04-30 16:06
288 查看
整个代码如下: #include <afx.h> #include <iostream.h> void main() { CFileFind finder; BOOL bWorking = finder.FindFile("*.*"); while (bWorking) { bWorking = finder.FindNextFile(); cout << (LPCTSTR) finder.GetFileName() << endl; } } 运行结果如图所示,为什么结果的前两行不是文件名而是"."和".."呢?
![](http://b.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=216b1221ad4bd1130498bf346a9f8837/cdbf6c81800a19d855c0725733fa828ba71e46a5.jpg)
BOOL bWorking = finder.FindFile("*.*"); 是查找所有的文件和文件夹,"."和".."是windows中两个特殊的文件夹,分别代表本级目录和上级目录。 如果想区别文件夹和文件,可以通过finder.IsIsDirectory()来判断找到的是否文件夹。 如果文件和文件夹都想查询,仅仅不想找"."和"..",则需要直接判断finder.GetFileName()的值来区别。
相关文章推荐
- ["1", "2", "3"].map(parseInt)为什么返回 [1,NaN,NaN]
- 给一个字符串,例如”ababc",要求返回"ab"。因为"ab”连续重复出现且最长。用C/C++语言写一个函数完成该算法,给出复杂度
- String filePath = request.getSession().getServletContext().getRealPath("/");这句话返回的路径是什么,解释下getRealPath("/")函数中的"/"表示什么意思
- 为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?【转】
- 为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?
- 有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数
- 为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?
- 有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数。
- 带有“非简单参数”的函数为什么不能包含 "use strict" 指令
- 对类里成员函数返回私有数据成员的操作
- Java学习提要——"反射"获取方法信息(成员函数、成员变量 、构造函数)
- [023]模板成员函数为什么不能是虚函数
- "返回"按钮的解决方案摸索
- 为什么通过空指针(NULL)可以正确调用一些类的成员函数?
- C++ - 标准库 "merge" 函数 的 用法及代码
- C++中为什么要用成员函数?
- c/c++中const成员函数的返回值类型
- html-编写"改变颜色"、"改变宽高"、"隐藏内容"、"显示内容"、"取消设置"的函数
- 类的静态方法(函数)中为什么不能调用非静态成员(属性)?
- 为什么VS提示SurfFeatureDetector不是cv的成员函数