例如检测d:\aa目录下是否有一个bb的文件夹,如有,怎么获取bb里的文件名(可能含有许多文件)?

解决方案 »

  1.   

    你可以使用CFileFind来寻找文件,csdn中有很多,可以搜索一下,如果还有问题,可以进一步探讨。
      

  2.   

    int CDeleteWrongInfoDlg::IsDirectoryOrFile(CString strFileName)
    {
    strFileName.TrimLeft();
    strFileName.TrimRight();

    WIN32_FIND_DATA fd;
    HANDLE hFind = ::FindFirstFile(strFileName,&fd);
    ::FindClose(hFind); //不存在同名的文件或文件夹
    if (hFind == INVALID_HANDLE_VALUE)
    {
    return 0 ;
    }
    //判断是否为目录
    else if (fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
    {
    return 2 ;
    }
    else
    {
    return 1;
    }
    }
      

  3.   

    WIN32_FIND_DATA fd; 
        HANDLE hFind = FindFirstFile("c:\\test", &fd); 
        if ((hFind != INVALID_HANDLE_VALUE) && (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) 
        { 
            AfxMessageBox("存在!");
          
        } 
        FindClose(hFind); 
      

  4.   

    使用FindFirstFile
        FindNextFile
        FindFile
    例:
        CString FileName;
        CString str = GetFullPath(item.hItem);
        if(str.Right(1) != "\\")
       str += "\\";
    str += "*.*";
    CFileFind file;
    BOOL bContinue = file.FindFile(str);
    while(bContinue)
    {
    bContinue = file.FindNextFile();
    if(!file.IsDirectory() && !file.IsDots())
    {
        FileName = file.GetFileName();
        ...
    }
    }