Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何使用std::fstream、boost或其他方法创建文件夹文件_File_Serialization_Boost_Stl_Directory - Fatal编程技术网

File 如何使用std::fstream、boost或其他方法创建文件夹文件

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

嘿,我刚刚学习了STL i/o,它引导我去boost::Serialize和Archive,所以我非常了解如何制作任何类型的文件,除了一个文件夹来保存/收集我形成的文件

如何使用代码创建文件夹?最好使用boost::Serialize或STL?
如果它也是平台独立的,那就太好了


好的,现在我已经研究/尝试使用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。