所以我试着这样做:
#include <iostream>//For cout/cin
#include <fstream> //For ifstream/ofstream
using namespace std;
int main()
{
string types[] = {"Creativity", "Action", "Service"};
for(int i = 0; i < sizeof(types)/sizeof(string); i++) {
string type = types[i];
string filename = type + ".html";
ofstream newFile(filename);
//newFile << toHTML(getActivities(type));
newFile.close();
}
return 0;
}
我遇到了错误。我是C ++的新手,所以我不知道该尝试什么,或者如果这是可能的(SURELY它是......)。 我尝试了下面这个,但它真的只是在黑暗中刺伤而没有帮助:
#include <iostream>//For cout/cin
#include <fstream> //For ifstream/ofstream
using namespace std;
int main()
{
string types[] = {"Creativity", "Action", "Service"};
for(int i = 0; i < sizeof(types)/sizeof(string); i++) {
string type = types[i];
//Attempting to add const..
const string filename = type + ".html";
ofstream newFile(filename);
//newFile << toHTML(getActivities(type));
newFile.close();
}
return 0;
}
我的意思是,如果我做'ofstream newFile(“somefile.html”),它会很高兴;
答案 0 :(得分:6)
原始IOstream库没有构造函数使用std::string
。支持的唯一类型是char const*
。您可以使用char const*
std::string
获得c_str()
std::string name("whatever");
std::ofstream out(name.c_str());
字符串文字的类型不是std::string
类型,但它的类型为char const[n]
,其中n
是字符串中的字符数,包括终止空字符。
在C ++ 2011中,文件流类得到了改进,也可以在需要字符串的地方使用std::string
。