VC++中关于路径的问题 使用Visual C++.NET2003开发一个应用程序,其中需要将数据保存到文件中,保存文件时,如何判断当前保存文件的目录是否存在,若不存在,则直接创建该目录。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用那么麻烦吧用BROWSEINFO就可以解决 直接CreateDirectory成功返回非零失败就GetLastError,可能是ERROR_ALREADY_EXISTS或ERROR_PATH_NOT_FOUND具体查看MSDNhttp://msdn.microsoft.com/zh-cn/library/aa363855 那如果这个目录是二级目录怎么处理呀,如E:\DAT\CH1,怎么创建CH1这个目录呀? 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\\");注意字符串要以\\结束。 MakeSureDirectoryPathExists BOOL PathFileExists( LPCTSTR pszPath); Lzopenfile给个实例 runtime error 问题 请各位前辈给小弟推荐几个驱动开发的网站和论坛谢谢! DLL插入问题 怎样捕获并录制程序发出的声音? ----------数据库多线程问题----------- 关于单选框和多选框透明的问题 我的窗口标题哪去了? 如何在vc程序中用鼠标画图?急急急 这是什么冲突??? 如何固定子窗口的层次,不受鼠标点击子窗时层次变化? VS结构体成员地址问题~
用BROWSEINFO就可以解决
成功返回非零
失败就GetLastError,可能是ERROR_ALREADY_EXISTS或ERROR_PATH_NOT_FOUND具体查看MSDNhttp://msdn.microsoft.com/zh-cn/library/aa363855
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\\");
注意字符串要以\\结束。
);