以下最后两种方法中的代码不起作用。请建议使用字符串制作目录的其他方法。 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
答案 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 确保您拥有相应的权限(以管理员身份运行程序)