我想在c ++中使用当前目录中的循环创建一些文件夹。我已经制作了一个代码,但收到了以下错误。
无法转换' std :: string {aka std :: basic_string}'到#char; char *'争论' 1' to' void CreateFolder(const char *)'
我的代码是:
#include<iostream>
#include<cstdio>
#include<cstring>
#include <windows.h>
#include <cstdio>
#include<cstdlib>
#include<fstream>
#include <sstream>
using namespace std;
#define total 28
std::string to_string(int i) {
std::stringstream s;
s << i;
return s.str();
}
void CreateFolder(const char * path)
{
if(!CreateDirectory(path ,NULL))
{
return;
}
}
main()
{
string folder_name;
string suffix = ".\\"; // for current directory
for(int i=0;i<=total;i++)
{
folder_name=suffix+to_string(i);
CreateFolder(folder_name);
}
}
如何创建名为0,1 ...的文件夹到28?
答案 0 :(得分:0)
您无法直接将std::string
作为char*
传递。使用c_str()
功能,您可以从char*
检索原始std::string
。
//std::string -> const char*
CreateFolder(folder_name.c_str());