有没有更好的方法从字符串创建目录? cpp,create directory,stringstream,string。

时间:2016-01-22 16:07:27

标签: c++ string directory stringstream

我的代码正在运行,但我认为这样做很糟糕。 (使用system()存在安全问题,并且还因为不接受ss.str()而创建字符串。你知道更好的方法吗?

    stringstream ss;
    string dir;

    // make dir output
    ss.str(""); // set  empty
    ss.clear(); // clear bit flags
    ss << "mkdir \"" << argv[2] << "\"";
    dir = ss.str();
    system(dir.c_str());

argv [2]来自:int main(int argc,char * argv []){...

有更好的想法吗?

1 个答案:

答案 0 :(得分:1)

您应该使用提供该功能的便携式Boost.Filesystem库 create_directory或使用目标环境提供的设施,例如适用于Linux的POSIX函数mkdir

Boost还提供了创建路径的功能,只需在引用中查找以找到所需内容。

使用system命令是一个坏主意。

如果您和您的教授正在使用MSVC 2015或gcc5.3或更高版本,您可以使用C ++ 1z&#39; s create_directory的实验性实现。它基于Boost,但Boost的支持范围更广。