执行本地文件搜索,并且是执行 Internet 文件搜索的 CGopherFileFind 和 CFtpFileFind 的基类。
语法
class CFileFind : public CObject
成员
公共构造函数
| 名称 | 描述 |
|---|---|
CFileFind::CFileFind |
构造 CFileFind 对象。 |
公共方法
| 名称 | 描述 |
|---|---|
CFileFind::Close |
关闭搜索请求。 |
CFileFind::FindFile |
搜索目录以获取指定文件名。 |
CFileFind::FindNextFile |
从上一次对 FindFile 的调用继续文件搜索。 |
CFileFind::GetCreationTime |
获取文件的创建时间。 |
CFileFind::GetFileName |
获取所找到文件的名称(包括扩展名) |
CFileFind::GetFilePath |
获取所找到文件的完整路径。 |
CFileFind::GetFileTitle |
获取所找到文件的标题。 标题不包括扩展名。 |
CFileFind::GetFileURL |
获取所找到文件的 URL,包括文件路径。 |
CFileFind::GetLastAccessTime |
获取上次访问文件的时间。 |
CFileFind::GetLastWriteTime |
获取上次更改并保存文件的时间。 |
CFileFind::GetLength |
获取所找到文件的长度(以字节为单位)。 |
CFileFind::GetRoot |
获取所找到文件的根目录。 |
CFileFind::IsArchived |
确定所找到文件是否已存档。 |
CFileFind::IsCompressed |
确定所找到文件是否已压缩。 |
CFileFind::IsDirectory |
确定所找到文件是否为目录。 |
CFileFind::IsDots |
确定所找到文件的名称是否具有名称“.”或“..”,指示该名称实际上是一个目录。 |
CFileFind::IsHidden |
确定所找到文件是否已隐藏。 |
CFileFind::IsNormal |
确定所找到文件是否正常(换言之,没有其他属性)。 |
CFileFind::IsReadOnly |
确定所找到文件是否为只读文件。 |
CFileFind::IsSystem |
确定所找到文件是否为系统文件。 |
CFileFind::IsTemporary |
确定所找到文件是否为临时文件。 |
CFileFind::MatchesMask |
指示要找到的文件的所需文件属性。 |
受保护方法
| 名称 | 描述 |
|---|---|
CFileFind::CloseContext |
关闭当前搜索句柄指定的文件。 |
受保护的数据成员
| 名称 | 描述 |
|---|---|
CFileFind::m_pTM |
指向 CAtlTransactionManager 对象的指针。 |
备注
CFileFind 包括开始搜索,查找文件并返回文件标题、名称或路径的成员函数。 对于 Internet 搜索,成员函数 GetFileURL 可返回文件的 URL。
CFileFind 是另外两个 MFC 类的基类,旨在搜索特定服务器类型:CGopherFileFind 专门与 gopher 服务器配合工作,而 CFtpFileFind 专门与 FTP 服务器配合使用。 这三个类共同为客户端提供了一种无缝机制,用于在本地计算机或远程服务器上查找文件,而无需考虑服务器协议、文件类型或位置。
以下代码将枚举当前目录中的所有文件,并打印每个文件的名称:
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
为简单起见,此代码使用 C++ 标准库 cout 类。 该 cout 行可以替换为对 CListBox::AddString 的调用,例如,在具有图形用户界面的程序中。
有关如何使用 CFileFind 和其他 WinInet 类的详细信息,请参阅使用 WinInet 进行 Internet 编程一文。
继承层次结构
CFileFind
要求
标头:afx.h
CFileFind::CFileFind
构造 CFileFind 对象时会调用此成员函数。
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
参数
pTM
指向 CAtlTransactionManager 对象的指针
示例
请参阅 CFileFind::GetFileName 的示例。
CFileFind::Close
调用此成员函数以结束搜索、重置上下文并释放所有资源。
void Close();
注解
调用 Close 后,不必在调用 FindFile 开始新搜索之前创建新的 CFileFind 实例。
示例
请参阅 CFileFind::GetFileName 的示例。
CFileFind::CloseContext
关闭当前搜索句柄指定的文件。
virtual void CloseContext();
注解
关闭搜索句柄的当前值指定的文件。 替代此函数以更改默认行为。
必须至少调用一次 FindFile 或 FindNextFile 函数才能检索有效的搜索句柄。 FindFile 和 FindNextFile 函数使用搜索句柄查找名称与给定名称匹配的文件。
CFileFind::FindFile
调用此成员函数以打开文件搜索。
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
参数
pstrName
一个指针,指向包含要查找文件的名称的字符串。 如果为 pstrName 传递 NULL,则 FindFile 将执行通配符 (*.*) 搜索。
dwUnused
预留用于使用派生类实现 FindFile 多态。 必须为 0。
返回值
如果成功,则不为 0;否则为 0。 若要获得扩展的错误信息,请调用 Win32 函数 GetLastError。
备注
调用 FindFile 开始文件搜索后,调用 FindNextFile 以检索后续文件。 在调用以下任何属性成员函数前,必须至少调用一次 FindNextFile:
示例
请参阅 CFileFind::IsDirectory 的示例。
CFileFind::FindNextFile
调用此成员函数以继续从上一次对 FindFile 的调用继续文件搜索。
virtual BOOL FindNextFile();
返回值
如果有更多文件,则为非零值;如果找到的文件是目录中的最后一个文件或发生错误,则为零。 若要获得扩展的错误信息,请调用 Win32 函数 GetLastError。 如果找到的文件是目录中的最后一个文件,或者找不到匹配的文件,GetLastError 函数便返回 ERROR_NO_MORE_FILES。
备注
在调用以下任何属性成员函数前,必须至少调用一次 FindNextFile:
FindNextFile 包装 Win32 FindNextFile 函数。
示例
请参阅 CFileFind::IsDirectory 的示例。
CFileFind::GetCreationTime
调用此成员函数以获取创建指定文件的时间。
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
参数
pTimeStamp
指向包含文件创建时间的 FILETIME 结构的指针。
refTime
对 CTime 对象的引用。
返回值
如果成功,则为非零;如果失败,则为 0。 仅当从未在此 CFileFind 对象上调用过 FindNextFile 时,GetCreationTime 才会返回 0。
备注
在调用 GetCreationTime 前,必须至少调用一次 FindNextFile。
注意
并非所有文件系统都使用相同的语义来实现此函数返回的时间戳。 如果基础文件系统或服务器不支持保留时间属性,此函数可能会返回其他时间戳函数返回的同一个值。 有关时间格式的信息,请参阅 WIN32_FIND_DATA 结构。 在某些操作系统上,返回的时间是文件所在计算机的当地时区。 有关详细信息,请参阅 Win32 FileTimeToLocalFileTime API。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::GetFileName
调用此成员函数以获取所找到文件的名称。
virtual CString GetFileName() const;
返回值
最近所找到文件的名称。
备注
在调用 GetFileName 前,必须至少调用一次 FindNextFile。
GetFileName 是返回某种形式的文件名的三种 CFileFind 成员函数之一。 以下列表说明了这三种函数及其不同之处:
GetFileName返回文件名,包括扩展名。 例如,调用GetFileName以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件名myfile.txt。GetFilePath返回文件的整个路径。 例如,调用GetFilePath以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件路径c:\myhtml\myfile.txt。GetFileTitle返回文件名,不包括文件扩展名。 例如,调用GetFileTitle以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件标题myfile。
示例
CFileFind finder;
static const TCHAR szFileToFind[] = _T("C:\\WINDOWS\\SYSTEM.INI");
BOOL bResult = finder.FindFile(szFileToFind);
if (bResult)
{
finder.FindNextFile();
TRACE(_T("Root of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetRoot());
TRACE(_T("Title of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileTitle());
TRACE(_T("Path of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFilePath());
TRACE(_T("URL of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileURL());
TRACE(_T("Name of %s is %s\n"), szFileToFind,
(LPCTSTR)finder.GetFileName());
finder.Close();
}
else
{
TRACE(_T("You have no %s file.\n"), szFileToFind);
}
CFileFind::GetFilePath
调用此成员函数以获取指定文件的完整路径。
virtual CString GetFilePath() const;
返回值
指定文件的路径。
备注
在调用 GetFilePath 前,必须至少调用一次 FindNextFile。
GetFilePath 是返回某种形式的文件名的三种 CFileFind 成员函数之一。 以下列表说明了这三种函数及其不同之处:
GetFileName返回文件名,包括扩展名。 例如,调用GetFileName以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件名myfile.txt。GetFilePath返回文件的整个路径。 例如,调用GetFilePath以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件路径c:\myhtml\myfile.txt。GetFileTitle 返回文件名,不包括文件扩展名。 例如,调用
GetFileTitle以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件标题myfile。
示例
请参阅 CFileFind::GetFileName 的示例。
CFileFind::GetFileTitle
调用此成员函数以获取所找到文件的标题。
virtual CString GetFileTitle() const;
返回值
文件的标题。
注解
在调用 GetFileTitle 前,必须至少调用一次 FindNextFile。
GetFileTitle 是返回某种形式的文件名的三种 CFileFind 成员函数之一。 以下列表说明了这三种函数及其不同之处:
GetFileName返回文件名,包括扩展名。 例如,调用GetFileName以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件名myfile.txt。GetFilePath返回文件的整个路径。 例如,调用GetFilePath以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件路径 c:\myhtml\myfile.txt。GetFileTitle返回文件名,不包括文件扩展名。 例如,调用GetFileTitle以生成有关文件c:\myhtml\myfile.txt的用户消息会返回文件标题myfile。
示例
请参阅 CFileFind::GetFileName 的示例。
CFileFind::GetFileURL
调用此成员函数以检索指定 URL。
virtual CString GetFileURL() const;
返回值
完整 URL。
备注
在调用 GetFileURL 前,必须至少调用一次 FindNextFile。
GetFileURL 与成员函数 GetFilePath 类似,不同之处在于它以 file://path 的形式返回 URL。 例如,调用 GetFileURL 以获取 myfile.txt 的完整 URL 会返回 URL file://c:\myhtml\myfile.txt。
示例
请参阅 CFileFind::GetFileName 的示例。
CFileFind::GetLastAccessTime
调用此成员函数以获取指定文件最后访问的时间。
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
参数
refTime
对 CTime 对象的引用。
pTimeStamp
指向包含文件最后访问时间的 FILETIME 结构的指针。
返回值
如果成功,则为非零;如果失败,则为 0。 仅当从未在此 CFileFind 对象上调用过 FindNextFile 时,GetLastAccessTime 才会返回 0。
备注
在调用 GetLastAccessTime 前,必须至少调用一次 FindNextFile。
注意
并非所有文件系统都使用相同的语义来实现此函数返回的时间戳。 如果基础文件系统或服务器不支持保留时间属性,此函数可能会返回其他时间戳函数返回的同一个值。 有关时间格式的信息,请参阅 WIN32_FIND_DATA 结构。 在某些操作系统上,返回的时间是文件所在计算机的当地时区。 有关详细信息,请参阅 Win32 FileTimeToLocalFileTime API。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::GetLastWriteTime
调用此成员函数以获取上次更改文件的时间。
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
参数
pTimeStamp
指向包含文件最后写入时间的 FILETIME 结构的指针。
refTime
对 CTime 对象的引用。
返回值
如果成功,则为非零;如果失败,则为 0。 仅当从未在此 CFileFind 对象上调用过 FindNextFile 时,GetLastWriteTime 才会返回 0。
备注
在调用 GetLastWriteTime 前,必须至少调用一次 FindNextFile。
注意
并非所有文件系统都使用相同的语义来实现此函数返回的时间戳。 如果基础文件系统或服务器不支持保留时间属性,此函数可能会返回其他时间戳函数返回的同一个值。 有关时间格式的信息,请参阅 WIN32_FIND_DATA 结构。 在某些操作系统上,返回的时间是文件所在计算机的当地时区。 有关详细信息,请参阅 Win32 FileTimeToLocalFileTime API。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::GetLength
调用此成员函数以获取所找到文件的长度(以字节为单位)。
ULONGLONG GetLength() const;
返回值
所找到文件的长度(以字节为单位)。
注解
在调用 GetLength 前,必须至少调用一次 FindNextFile。
GetLength 使用 Win32 结构 WIN32_FIND_DATA 获取并返回文件大小的值(以字节为单位)。
注意
从 MFC 7.0 起,GetLength 支持 64 位整数类型。 使用这一较新版本的库生成的先前现有代码可能会导致截断警告。
示例
// This code fragment prints out a very verbose directory
// listing for all the files in the root directory on the
// C: drive. After the file's name, each attribute of the
// file is printed, as are the creation, last access, and
// last write times.
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("C:\\*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
_tprintf_s(_T("%s\n\t"), (LPCTSTR)finder.GetFileName());
_tprintf_s(_T("%c"), finder.IsArchived() ? 'A' : 'a');
_tprintf_s(_T("%c"), finder.IsCompressed() ? 'C' : 'c');
_tprintf_s(_T("%c"), finder.IsHidden() ? 'H' : 'h');
_tprintf_s(_T("%c"), finder.IsNormal() ? 'N' : 'n');
_tprintf_s(_T("%c"), finder.IsReadOnly() ? 'R' : 'r');
_tprintf_s(_T("%c"), finder.IsSystem() ? 'S' : 's');
_tprintf_s(_T("%c"), finder.IsTemporary() ? 'T' : 't');
_tprintf_s(_T("\t%I64u byte(s)\n"), finder.GetLength());
CTime tempTime;
CString str;
_tprintf_s(_T("\tCreated : "));
if (finder.GetCreationTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\tLast Access: "));
if (finder.GetLastAccessTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\tLast Write : "));
if (finder.GetLastWriteTime(tempTime))
{
str = tempTime.Format(_T("%c"));
_tprintf_s(_T("%s\n"), (LPCTSTR) str);
}
else
{
_tprintf_s(_T("(unavailable)\n"));
}
_tprintf_s(_T("\n"));
}
CFileFind::GetRoot
调用此成员函数以获取所找到文件的根。
virtual CString GetRoot() const;
返回值
活动搜索的根。
备注
在调用 GetRoot 前,必须至少调用一次 FindNextFile。
此成员函数返回用于启动搜索的驱动器说明符和路径名称。 例如,使用 *.dat 调用 FindFile 会导致 GetRoot 返回空字符串。 将路径(例如 c:\windows\system\*.dll)传递给 FindFile 会导致 GetRoot 返回 c:\windows\system\。
示例
请参阅 CFileFind::GetFileName 的示例。
CFileFind::IsArchived
调用此成员函数以确定所找到文件是否已存档。
BOOL IsArchived() const;
返回值
如果成功,则不为 0;否则为 0。
备注
应用程序使用 FILE_ATTRIBUTE_ARCHIVE(WIN32_FIND_DATA 结构中标识的文件属性)标记要备份或删除的存档文件。
在调用 IsArchived 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::IsCompressed
调用此成员函数以确定所找到文件是否已压缩。
BOOL IsCompressed() const;
返回值
如果成功,则不为 0;否则为 0。
注解
压缩文件使用 FILE_ATTRIBUTE_COMPRESSED(WIN32_FIND_DATA 结构中标识的文件属性)进行标记。 对于文件,此属性指示文件中的所有数据都会压缩。 对于目录,此属性指示压缩是新创建文件和子目录的默认设置。
在调用 IsCompressed 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::IsDirectory
调用此成员函数以确定所找到文件是否为目录。
BOOL IsDirectory() const;
返回值
如果成功,则不为 0;否则为 0。
备注
作为目录的文件使用 FILE_ATTRIBUTE_DIRECTORY(WIN32_FIND_DATA 结构中标识的文件属性)进行标记。
在调用 IsDirectory 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
这个小程序递归 C:\ 驱动器上的每个目录并打印目录名称。
void Recurse(LPCTSTR pstr)
{
CFileFind finder;
// build a string with wildcards
CString strWildcard(pstr);
strWildcard += _T("\\*.*");
// start working for files
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
// skip . and .. files; otherwise, we'd
// recur infinitely!
if (finder.IsDots())
continue;
// if it's a directory, recursively search it
if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
TRACE(_T("%s\n"), (LPCTSTR)str);
Recurse(str);
}
}
finder.Close();
}
void PrintDirs()
{
Recurse(_T("C:"));
}
CFileFind::IsDots
调用此成员函数以在循环访问文件时测试当前目录和父目录标记。
virtual BOOL IsDots() const;
返回值
如果所找到文件的名称为“.”或“..”,则为非零,表示所找到文件实际上是目录。 否则为 0。
注解
在调用 IsDots 前,必须至少调用一次 FindNextFile。
示例
请参阅 CFileFind::IsDirectory 的示例。
CFileFind::IsHidden
调用此成员函数以确定所找到文件是否已隐藏。
BOOL IsHidden() const;
返回值
如果成功,则不为 0;否则为 0。
注解
隐藏文件使用 FILE_ATTRIBUTE_HIDDEN(WIN32_FIND_DATA 结构中标识的文件属性)进行标记。 隐藏文件没有包括在普通的目录列表中。
在调用 IsHidden 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::IsNormal
调用此成员函数以确定所找到文件是否为普通文件。
BOOL IsNormal() const;
返回值
如果成功,则不为 0;否则为 0。
注解
使用 FILE_ATTRIBUTE_NORMAL(WIN32_FIND_DATA 结构中标识的文件属性)标记的文件。 普通文件没有其他属性集。 所有其他文件属性会替代此属性。
在调用 IsNormal 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::IsReadOnly
调用此成员函数以确定所找到文件是否为只读文件。
BOOL IsReadOnly() const;
返回值
如果成功,则不为 0;否则为 0。
备注
只读文件使用 FILE_ATTRIBUTE_READONLY(WIN32_FIND_DATA 结构中标识的文件属性)进行标记。 应用程序可以读取此类文件,但无法写入或删除该文件。
在调用 IsReadOnly 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::IsSystem
调用此成员函数以确定所找到文件是否为系统文件。
BOOL IsSystem() const;
返回值
如果成功,则不为 0;否则为 0。
备注
系统文件使用 FILE_ATTRIBUTE_SYSTEM(WIN32_FIND_DATA 结构中标识的文件属性)进行标记。 系统文件是操作系统的一部分,或者仅由操作系统使用。
在调用 IsSystem 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::IsTemporary
调用此成员函数以确定所找到文件是否为临时文件。
BOOL IsTemporary() const;
返回值
如果成功,则不为 0;否则为 0。
注解
临时文件使用 FILE_ATTRIBUTE_TEMPORARY(WIN32_FIND_DATA 结构中标识的文件属性)进行标记。 临时文件用于临时存储。 只有绝对必要时,应用程序才应写入文件。 文件的大部分数据保留在内存中,而不会刷新到媒体,因为文件很快就会删除。
在调用 IsTemporary 前,必须至少调用一次 FindNextFile。
有关文件属性的完整列表,请参阅成员函数 MatchesMask。
示例
请参阅 CFileFind::GetLength 的示例。
CFileFind::m_pTM
指向 CAtlTransactionManager 对象的指针。
CAtlTransactionManager* m_pTM;
备注
CFileFind::MatchesMask
调用此成员函数以测试所找到文件的文件属性。
virtual BOOL MatchesMask(DWORD dwMask) const;
参数
dwMask
为所找到文件指定一个或多个文件属性(在 WIN32_FIND_DATA 结构中标识)。 若要搜索多种属性,请使用按位 OR (|) 运算符。 可以接受以下属性的任意组合:
FILE_ATTRIBUTE_ARCHIVE该文件是存档文件。 应用程序使用此属性来标记要备份或删除的文件。FILE_ATTRIBUTE_COMPRESSED文件或目录已压缩。 对于文件,这意味着文件中的所有数据都会压缩。 对于目录,这意味着压缩是新创建文件和子目录的默认设置。FILE_ATTRIBUTE_DIRECTORY该文件是一个目录。FILE_ATTRIBUTE_NORMAL普通文件没有其他属性集。 此属性仅在单独使用时有效。 所有其他文件属性会替代此属性。FILE_ATTRIBUTE_HIDDEN文件已隐藏。 该文件不会包括在普通的目录列表中。FILE_ATTRIBUTE_READONLY文件为只读文件。 应用程序可以读取该文件,但无法写入或删除该文件。FILE_ATTRIBUTE_SYSTEM该文件是操作系统的一部分,或者仅由操作系统使用。FILE_ATTRIBUTE_TEMPORARY该文件用于临时存储。 只有绝对必要时,应用程序才应写入文件。 文件的大部分数据保留在内存中,而不会刷新到媒体,因为文件很快就会删除。
返回值
如果成功,则不为 0;否则为 0。 若要获得扩展的错误信息,请调用 Win32 函数 GetLastError。
注解
在调用 MatchesMask 前,必须至少调用一次 FindNextFile。
示例
// This code fragment shows all of the files in the root directory
// of drive C: which have either the hidden attribute or the system
// attribute, or both.
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("C:\\*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.MatchesMask(FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_SYSTEM))
{
_tprintf_s(_T("%s\n"), (LPCTSTR) finder.GetFileName());
}
}
另请参阅
CObject 类
层次结构图
CFtpFileFind 类
CGopherFileFind 类
CInternetFile 类
CGopherFile 类
CHttpFile 类