File 如何使用std::fstream、boost或其他方法创建文件夹文件
嘿,我刚刚学习了STL i/o,它引导我去boost::Serialize和Archive,所以我非常了解如何制作任何类型的文件,除了一个文件夹来保存/收集我形成的文件 如何使用代码创建文件夹?最好使用boost::Serialize或STL?File 如何使用std::fstream、boost或其他方法创建文件夹文件,file,serialization,boost,stl,directory,File,Serialization,Boost,Stl,Directory,嘿,我刚刚学习了STL i/o,它引导我去boost::Serialize和Archive,所以我非常了解如何制作任何类型的文件,除了一个文件夹来保存/收集我形成的文件 如何使用代码创建文件夹?最好使用boost::Serialize或STL? 如果它也是平台独立的,那就太好了 好的,现在我已经研究/尝试使用boost::filesystem。但是,当我查看参考文档时,没有那么多关于create_directory()的信息; 留给我的问题是:如果目录已经存在怎么办 bool创建目录(cons
如果它也是平台独立的,那就太好了
好的,现在我已经研究/尝试使用boost::filesystem。但是,当我查看参考文档时,没有那么多关于create_directory()的信息; 留给我的问题是:如果目录已经存在怎么办 bool创建目录(const path&p);bool创建目录(const 路径和流程,系统::错误代码和ec);效果:尝试创建 目录p解析为,就像POSIX mkdir()通过第二个参数解析一样 关于S|u IRWXU | S|u IRWXG | S|u IRWXO 后置条件:is_目录(p) 返回:如果创建了新目录,则返回true,否则返回false 抛出:在错误报告中指定 我正在尝试运行以下代码,并检查是否已创建新文件夹,或者我现在理解为目录=)。我找不到!为什么?这是真的=/
path testPath("C:\\Users\\Howlett\\Documents\\Visual Studio 2010\\Projects\\boost tests\\newFolderTest");
bool success = create_directory(testPath);
bool success2= create_directory("C:\\Users\\Howlett\\Documents\\Visual Studio 2010\\Projects\\boost tests\\Test\\NestedFolderTest");
也许您应该寻找一个文件系统库,它可以提高您在这项任务中的工作效率。它甚至可以被称为;) 这是一个处理文件系统内容的非常好的库。您的特定任务将在
boost::filesystem::create_directory
中介绍
下面的源代码可以工作。如果它没有创建目录,那么您应该刷新Windows资源管理器,以确保它确实在查看。如果运行该程序两次,第二次将打印错误消息
#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem.hpp>
#include <iostream>
namespace fs = boost::filesystem;
int main(int argc, const char *argv[])
{
fs::path thePath = fs::current_path();
std::cout << thePath << std::endl;
fs::path newDir = thePath / "newDir";
std::cout << newDir << std::endl;
bool bDidCreate = fs::create_directory(newDir);
if(!bDidCreate)
std::cout << "Directory creation failed!" << std::endl;
return 0;
}
#定义BOOST_文件系统_版本3
#包括
#包括
名称空间fs=boost::filesystem;
int main(int argc,const char*argv[]
{
fs::path thePath=fs::current_path();
std::谢谢你的链接,但我还是有点困惑!你能看看我对这个问题的编辑吗?你没有提到这个函数是返回true还是false。@Nicol Bolas它确实返回true。