-2

这段代码一直给我错误我不知道我做错了什么?如何要求用户输入文件名,然后打开该文件并使用数据执行任务。

例子:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main ()
{ 
ifstream inData;
ofstream outData;
string fileName;

cout << "Enter the data file Name : " << endl;//asks user to input filename
cin >> fileName; //inputs user input into fileName

inData.open(fileName); //heres where i try to open the file with the users input?
outData.open(fileName);
cout << fileName;
return 0;   
} 

代码不断给我错误。我试过用getline?我希望文件名是字符串而不是字符。

4

1 回答 1

4

您将std::string对象传递给参数,而不是实际的空终止字符指针。为此,请使用c_str

inData.open(fileName.c_str());
outData.open(fileName.c_str());
于 2013-03-26T18:48:03.163 回答