使用Visual C++.NET2003开发一个应用程序,其中需要将数据保存到文件中,保存文件时,如何判断当前保存文件的目录是否存在,若不存在,则直接创建该目录。

解决方案 »

  1.   

    不用那么麻烦吧
    用BROWSEINFO就可以解决
      

  2.   

    直接CreateDirectory
    成功返回非零
    失败就GetLastError,可能是ERROR_ALREADY_EXISTS或ERROR_PATH_NOT_FOUND具体查看MSDNhttp://msdn.microsoft.com/zh-cn/library/aa363855
      

  3.   

    那如果这个目录是二级目录怎么处理呀,如E:\DAT\CH1,怎么创建CH1这个目录呀?
      

  4.   


    void CreateDir(const char* szDirs)
    {
    std::string strDirs(szDirs);
    std::string::size_type pos = -1;
    std::string strDir;
    while((pos=strDirs.find('\\', pos+1)) != std::string::npos)
    {
    strDir = strDirs.substr(0, pos+1);
    if(_taccess(strDir.c_str(), 0) != 0)
    {
    ::CreateDirectory(strDir.c_str(), NULL);
    }
    }
    }
    用法:CreateDir("D:\\d\\dd\\ddd\\dddd\\");
    注意字符串要以\\结束。
      

  5.   

    MakeSureDirectoryPathExists
      

  6.   

    BOOL PathFileExists(          LPCTSTR pszPath
    );