请问怎样判断一个文件路径是否有效,用什么函数可以!谢谢

解决方案 »

  1.   

    1.
    BOOL IsCurrentDir(LPTSTR pszDir) 
    {
      TCHAR szFilePath[MAX_PATH] = {NULL} ;
      ::GetCurrentDirectory(MAX_PATH,szFilePath) ;
      BOOL bRet = ::SetCurrentDirectory(pszDir) ;
      ::SetCurrentDirectory(szFilePath) ;
      return bRet ;
    }
    2.
    BOOL IsCurrentDir(LPTSTR pszDir)
    {
      return (::GetFileAttributes(pszDir) & FILE_ATTRIBUTE_DIRECTORY) ;
    }
      

  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.   

    #include <IO.h>//_access函数char szPath[64]="C:\\yourdirectory";

    if(_access(szPath,0) == 0)//存在,-1不存在。//
    {
    MessageBox("存在!");
    }
      

  4.   

    ::GetFileAttributes(pszDir) & FILE_ATTRIBUTE_DIRECTORY) ;来判断效率最高
    access是c运行期库的,不过要跨平台可以用这个东东
      

  5.   

    查找g:\\tt路径CFileFind finder;
    BOOL BExist = finder.FindFile("g:\\tt");if(BExist)
       std::cout << "存在" << std::endl;
    else
       std::cout << "不存在" << std::endl;