大神们,问个小问题,如何获得指定文件夹内的所有文件夹名?
比如:在E:\里面有:新建文件夹1,新建文件夹2,新建文件夹3等等几个文件夹
现在要做的就是编一个小程序,能把这几个文件夹的名字,写到一个txt里面
我在百度里面搜了好长时间,貌似都要用dirent.h,可是我用的是vc6.0,里面没有这个头文件
求大大们,有木有什么好办法
[解决办法]
用FindFirstFile遍历文件夹
http://msdn.microsoft.com/zh-cn/library/aa914391(en-us).aspx
[解决办法]
貌似楼上已经给你答案了。遍历文件夹下的内容,看文件的属性就知道什么是文件,什么是文件夹了
[解决办法]
我一般使用MFC中的CFileFind.有成员函数可以直接判断是Dot还是Dir或者File.如下:
CFileFind
CObject
└CFileFind
MFC类CFileFind执行本地文件查找,是CGopherFileFind和CFtpFileFind的基类;后两类用于Internet文件查找。CFileFind包括的成员函数有开始查找、定位文件、返回标题名或路径。对于Internet查找来说,GetFileURL返回文件的URL。
CFileFind是为另两类查找特殊服务器设计的MFC类的基类,CGopherFileFind在Gopher服务器上工作,CFtpFileFind在FTP服务器上工作,这些类为用户查找文件提供了一种无缝机制,与服务器协议、文件类型、地点、本地机器或远程服务器无关。
以下代码将当前目录下的文件枚举出来并打印每个文件名:
CFileFind finder
BOOL bWorking = finder.FindFile("*.*");
while(bWorking)
{
bWorking = finder.FindNextFile( );
cout <<(LPCTSTR) finder.GetFileName( ) <<endl;
}
为使示例简单,此代码使用标准C++库函数cout类,cout行可由调用CListBox::AddString来代替。
要了解有关CFileFind和其它WinInet类共同使用的情况,请参阅联机文档“Visual C++程序员指南”中的“用WinInet设计Internet程序”。
#include <afx.h>
请参阅:
CFtpFileFind, CGopherFileFind, CInternetFile, CGopherFile, CHttpFile
CFileFind类的成员
构造函数 CFileFind 构造一个CFileFind对象。
属性 GetLength 获取找到文件的长度,以字节为单位
GetFileName 获取找到文件的名字
GetFilePath 找到文件的全路径
GetFileTitle 获取找到文件的标题,标题不包括扩展内容
GetFileURL 获取找到文件的URL,包括文件路径
GetRoot 获取找到文件根目录
GetCreationTime 获取文件创建时间
GetLastAccessTime 获取文件最后一次打开的时间
GetLastWriteTime 文件最后改变和存储的时间
MatchesMask 指定要找的文件的属性
IsDots 查看文件名是否是包含"."或"..",以表明它的确是一个目录
IsReadOnly 文件是否是只读
IsDirectory 文件是否是目录
IsCompressed 文件是否是压缩
IsSystem 文件是否是系统文件
IsHidden 文件是否是隐藏
IsTemporary 文件是否是临时的
IsNormal 文件是否是常规的(无其它属性)
IsArchived 文件是否是档案
操作 Close 关闭查找请求
FindFile 查找一个目录中的指定文件
FindNextFile 从FindFile以前调用开始继续下一查找
[解决办法]
调用系统命令,然后重定向输出到指定的文件中,这样应该简单些吧…
[解决办法]
dirent.h這個是Unix/Linux下的頭文件。