FindFirstFile只是找到文件,得到文件名,然后使用CFile根据得到的文件名来读写就可以了

解决方案 »

  1.   

    CString strFolder = _T("C:\\XXXXX"); //文件夹的路径。
    WIN32_FIND_DATA fd; memset(&fd, 0, sizeof(WIN32_FIND_DATA));
    HANDLE hFind = FindFirstFile(strFolder + _T("\\*.vcf"), &fd); if (INVALID_HANDLE_VALUE != hFind)
    {
    do
    {
    if (_tcscmp(fd.cFileName, _T(".")) == 0 || _tcscmp(fd.cFileName, _T("..")) == 0 || fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    continue; //处理每个文件。
    //...
    TRACE("%s\r\n", fd.cFileName);
    }
    while (FindNextFile(hFind, &fd));
    } FindClose(hFind);也可以使用 CFileFind 类。
    CString strFolder = _T("C:\\XXXXX"); //文件夹的路径。 CFileFind ff;
    BOOL bFinded = ff.FindFile(strFolder + _T("\\*.vcf"));
    while (bFinded)
    {
    bFinded = ff.FindNextFile();
    if (ff.IsDots() || ff.IsDirectory())
    continue; //处理每个文件。
    //...
    TRACE("%s\r\n", ff.GetFilePath());
    } ff.Close();

      

  2.   

    2楼正解,如果想查找所有该目录下的.vcf文件,就用“*.vcf”就可以了。
      

  3.   

    先查找*.vcf文件,将得到的文件名放在一个list中
    然后循环打开文件就ok了