使用字符串c ++创建目录

时间:2017-02-04 10:07:53

标签: c++

以下最后两种方法中的代码不起作用。请建议使用字符串制作目录的其他方法。 window 10 visual studio 2015

string username="Ali";
string path = "c:/Backup/total data/" + username;
mkdir("c:/Backup");
mkdir("c:/Backup/total userdata");
_mkdir(path.str());            // method does not work     
mkdir(path.c_str());           // method does not work
system(path.c_str());          // method does not work

1 个答案:

答案 0 :(得分:0)

mkdir已弃用,请改用_mkdir。 这有效:

#include <iostream>
#include "stdafx.h"
#include <string>
#include <Windows.h>
#include <direct.h>
using namespace std;


int main()
{
    string username = "Ali";
    string path = "c:\\Backup\\total data\\" + username;
    mkdir("c:\\Backup");
    mkdir("c:\\Backup\\total userdata");
    mkdir(path.c_str());     // method not work
    system(path.c_str());
    return 0;
}

请注意,这是操作系统的特定代码,您还没有提到您的操作系统,所以我假设是Windows。 对于跨平台代码,请查看boost / filesystem.hpp和boost :: filesystem :: create_directory 确保您拥有相应的权限(以管理员身份运行程序)