CFileFind Class

CFileFind:CObject

The MFC class CFileFind performs local file searches and is the base class for CGopherFileFind and CFtpFileFind, which perform Internet file searches. CFileFind includes member functions that begin a search, locate a file, and return the title, name, or path of the file. For Internet searches, the member function GetFileURL returns the file’s URL.

CFileFind is the base class for two other MFC classes designed to search particular server types: CGopherFileFind works specifically with gopher servers, and CFtpFileFind works specifically with FTP servers. Together, these three classes provide a seamless mechanism for the client to find files, regardless of the server protocol, the file type, or location, on either a local machine or a remote server.

The following code will enumerate all the files in the current directory, printing the name of each file:

   CFileFind finder;
   BOOL bWorking = finder.FindFile("*.*");
   while (bWorking)
   {
      bWorking = finder.FindNextFile();
      cout << (LPCTSTR) finder.GetFileName() << endl;
   }

To keep the example simple, this code uses the standard C++ library cout class. The cout line could be replaced with a call to CListBox::AddString, for example, in a program with a graphical user interface.

For more information about how to use CFileFind and the other WinInet classes, see the articleInternet Programming with WinInet in Visual C++ Programmer's Guide.

#include <afx.h>


CFileFind Class Members

Construction

CFileFindConstructs a CFileFind object.

Attributes

GetLengthGets the length of the found file, in bytes.
GetFileNameGets the name, including the extension, of the found file
GetFilePathGets the whole path of the found file.
GetFileTitleGets the title of the found file. The title does not include the extension.
GetFileURLGets the URL, including the file path, of the found file.
GetRootGets the root directory of the found file.
GetCreationTimeGets the time the file was created.
GetLastAccessTimeGets the time that the file was last accessed.
GetLastWriteTimeGets the time the file was last changed and saved.
MatchesMaskIndicates the desired file attributes of the file to be found.
IsDotsDetermines if the name of the found file has the name "." or "..", indicating that is actually a directory.
IsReadOnlyDetermines if the found file is read-only.
IsDirectoryDetermines if the found file is a directory.
IsCompressedDetermines if the found file is compressed.
IsSystemDetermines if the found file is a system file.
IsHiddenDetermines if the found file is hidden.
IsTemporaryDetermines if the found file is temporary.
IsNormalDetermines if the found file is normal (in other words, has no other attributes).
IsArchivedDetermines if the found file is archived.

Operations

CloseCloses the search request.
FindFileSearches a directory for a specified file name.
FindNextFileContinues a file search from a previous call to FindFile.

例如查找并提取F:\VBA下文件名:

        CString strPath = "F:\\VBA\\*.*";
CString strFileName;
        CFileFind finder;
        BOOL bWorking = finder.FindFile(strPath);
        while (bWorking)
{
               bWorking = finder.FindNextFile();
       if(finder.IsDirectory()) //若确定找到的文件是否是一个目录,结束本次循环。
               continue;

              strFileName = finder.GetFileName();
      cout << (LPCTSTR)strFileName << endl;
}
finder.Close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值