#include<iostream>
#include<conio.h>
#include<fstream>
#include<string>
#include<string.h>
#include<vector>
using namespace std;
void main()
{
string read;
string name;
vector<string> myvec;
const char * word;
ifstream in;
in.open("w.txt");
ofstream out;
getline(in,read);
word = strtok(&read[0],",");
while(word != NULL)
{
name = word;
cout<<"Word: "<<word<<endl;
name = name + ".txt";
myvec.push_back(name);
out.open(name);
cout<<"Name: "<<name<<endl;
word = strtok(NULL,",");
out.close();
}
in.close();
system("pause");
}
我遇到的问题是当我在ubuntu终端中运行它时会抛出一个错误,通常会说out.open()不会接受字符串名称。
我必须创建从文件中获取输入的不同文件。那么有办法解决这个问题吗?
答案 0 :(得分:0)
在C ++ 03中,ofstream::open()
需要const char*
,而不是std::string
;见http://www.cplusplus.com/reference/fstream/ofstream/open/。如果您可以使用C ++ 11(gcc -std=c++11
),则可以传递std::string
。