小记2_finddata_t结构体

遍历文件家中的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//调用下面函数或结构体所要包含的文件头
<span style="background-color: rgb(255, 153, 0);">#include <io.h>
</span>void Cdialog1Dlg::OnBnClickedOk()
{
    CString sfile = "F:\\SQLyaog\\SQLyog Trial\\*.exe";//文件的路径
    struct _finddata_t c_file;    //_finddata_t结构体包含文件的文件名,大小最后一次访问修改时间等
    long hfile;
    //不能写成if(hfile = _findfirst(LPCSTR(sfile),&c_file) == -1L)<span style="background-color: rgb(255, 102, 0);">因为==的优先级要比=高
</span> //搜索与指定文件名称或路径匹配的第一个实例,若成功返回第一个实例句柄
    //否则返回-1L
    if((hfile = <span style="background-color: rgb(255, 102, 0);">_findfirst</span>(LPCSTR(sfile),&c_file)) == -1L)//
    {
        ::AfxMessageBox("No PE file in current directory");
    }
    else
    {
        do
        {
            AfxMessageBox((LPCSTR)c_file.name);//输出检索到的符合要求的文件名
        }while<span style="background-color: rgb(255, 102, 0);">(_findnext</span>(hfile,&c_file) <span style="background-color: rgb(255, 102, 0);">== 0</span>);//搜索与_findfirst函数提供的文件名
        //相匹配的下一个实例,若成功返回0,否则返回-1.
    }
    _findclose(hfile<span style="background-color: rgb(255, 102, 0);">);//释放句柄。
</span>
    CDialogEx::OnOK();
}

  缺点:加入此文件还含有文件夹,此方法没能很好的解决此子文件夹里的和服要求的文件。

小记2_finddata_t结构体

上一篇:学习方法,工作方法 探讨


下一篇:SquashFs工具制作