运行MSDN中CFileFind的成员函数FindFile()的示例代码出现问题,GetFileName()为什么返回的是"."?
整个代码如下:#include<afx.h>#include<iostream.h>voidmain(){CFileFindfinder;BOOLbWorking=fin...
整个代码如下:
#include <afx.h>
#include <iostream.h>
void main()
{
CFileFind finder;
BOOL bWorking = finder.FindFile("*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
cout << (LPCTSTR) finder.GetFileName() << endl;
}
}
运行结果如图所示,为什么结果的前两行不是文件名而是"."和".."呢? 展开
#include <afx.h>
#include <iostream.h>
void main()
{
CFileFind finder;
BOOL bWorking = finder.FindFile("*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
cout << (LPCTSTR) finder.GetFileName() << endl;
}
}
运行结果如图所示,为什么结果的前两行不是文件名而是"."和".."呢? 展开
展开全部
.表示当前文件夹,..表示上一级文件夹,这是从DOS传承下来的。比如DOS命令
cd ..
是返回上一层文件夹就是这么来的。
用CFileFind::IsDots函数来判断返回的是不是这两个文件夹,还可以用CFileFind::IsDirectory来判断返回的这个是不是文件夹。
cd ..
是返回上一层文件夹就是这么来的。
用CFileFind::IsDots函数来判断返回的是不是这两个文件夹,还可以用CFileFind::IsDirectory来判断返回的这个是不是文件夹。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BOOL bWorking = finder.FindFile("*.*");
是查找所有的文件和文件夹,"."和".."是windows中两个特殊的文件夹,分别代表本级目录和上级目录。
如果想区别文件夹和文件,可以通过finder.IsIsDirectory()来判断找到的是否文件夹。
如果文件和文件夹都想查询,仅仅不想找"."和"..",则需要直接判断finder.GetFileName()的值来区别。
是查找所有的文件和文件夹,"."和".."是windows中两个特殊的文件夹,分别代表本级目录和上级目录。
如果想区别文件夹和文件,可以通过finder.IsIsDirectory()来判断找到的是否文件夹。
如果文件和文件夹都想查询,仅仅不想找"."和"..",则需要直接判断finder.GetFileName()的值来区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在windows系统中,当前文件夹中,用 . 文件夹名表示。
上一层文件夹 用 .. 文件夹名表示 。所以在搜索的时候,会出现这俩个文件夹。
在界面中只是隐藏了。
类似 c++ 中的。 include "..\debug" 表示上一层中的debug 文件夹。
include ".\debug" 表示当前文件夹的debug文件夹。
上一层文件夹 用 .. 文件夹名表示 。所以在搜索的时候,会出现这俩个文件夹。
在界面中只是隐藏了。
类似 c++ 中的。 include "..\debug" 表示上一层中的debug 文件夹。
include ".\debug" 表示当前文件夹的debug文件夹。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
windows的文件目录结构就是这样的。你在cmd下用dir命令查看也有"."和".."这2个文件夹。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询