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

时间:2016-10-18 06:58:24

标签: c++ winapi directory

我想在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?

1 个答案:

答案 0 :(得分:0)

您无法直接将std::string作为char*传递。使用c_str()功能,您可以从char*检索原始std::string

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