📄 untitled-09.txt
字号:
if(hF。nd!。工NVALID.HANDLE.VALUE)5
d。{
if(fd.dwFileAttributes& FILE.ATTRIBUTE.DIRECTORY)
TRACE(_T(”% s\n”), fd.CF。leNNNN);
P while(::FindNextFile(hFind,&fd));
:: FindClose(hFind);
I
更有趣的问题是:如何把给定目录“和它的子目录”下的所有目录枚举出来。下面的函
数枚举出当前目录和其子目录中的所有目录,并把每个目录的名称写到调试输出窗口。秘
诀是什么?一旦遇到目录,EnumerateFolders便进入该目录并递归调用自身。
v。。d EnumerateFolders()
Z
WIN32FIND.DATA fd;
HANDLE hFind=:: FindFirstFile(T(”。。”),&fd);
if(hFind!=INVALID_HANDLE.VALUE)《
d。1
if(fd.dwFileAttributes& FILE_ATTRIBUTE.DIRECTORY)
cstfiflg name= fd.CFileNaffig;
i f(。e!=_T(”.O&& name!二一叫”..1) 5
TRACE(T(”%s\n”), fd.oF。leName);
:: SetCurrentDirectory( fd.cFlleName);
EnuxnerateFolders();
:·SetCurrentD。rectory(r(”..”》;
I
S
while(::FindNextFile(hFind,&fd》;
:: FindCloSS(hFind);
S
于
如果要使用该函数,先导航到枚举起始时所在的目录,然后调用EnumerateFolders。下面的语
句枚举了驱动器C中的所有目录:
::SetCurrentD。reCtory(一T(”C:\\”));
EnumerateFolders();
在第10章我们将用类似的技巧给树图填充,图中各项代表某驱动器上的所有文件夹。
6.Zdi行化和CArchive英
尽管MFC的CFile类极大地简化了文件数据的读写,但是大部分MFC应用程序并不直
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -