简体   繁体   English

在C ++中的当前目录内创建多个文件夹

[英]creating multiple folders inside current directory in c++

I want to make some folders using a loop in current directory in c++. 我想使用C ++当前目录中的循环来创建一些文件夹。 I have made a code but getting the following error. 我做了一个代码,但收到以下错误。

cannot convert 'std::string {aka std::basic_string}' to 'const char*' for argument '1' to 'void CreateFolder(const char*)' 无法将参数'1'的'std :: string {aka std :: basic_string}'转换为'const char *'到'void CreateFolder(const char *)'

My code is: 我的代码是:

 #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);

    }

} 

How will I create those folders named 0,1... to 28? 如何创建名为0,1 ...到28的文件夹?

You can not directly pass a std::string as char* . 您不能直接将std::string作为char*传递。 By using c_str() function you can retrieve the raw char* from std::string . 通过使用c_str()函数,您可以从std::string检索原始char*

//std::string -> const char*
CreateFolder(folder_name.c_str());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM