输入流的C ++参数

时间:2011-11-14 03:28:36

标签: parameters input stream

我只是想知道,在尝试使用流时,您是否可以让用户输入文件的位置?

我想做的事情:

int main()
{
ifstream instream; 

string file_location;
cout << "Enter in file location: " << endl; 
cin >> file_location;
instream.open(file_location);
}

所以我希望他们输入文件位置,但程序不会编译。

我收到的错误消息是:

  

没有匹配函数来调用'std :: basic_ifstream&gt; :: open(std :: string&amp;)'

2 个答案:

答案 0 :(得分:1)

改为使用instream.open(file_location.c_str());

答案 1 :(得分:0)

你有正确的想法,但你的类型有点不正确。 open采用const char *,而不是std :: string,因此需要提供字符串包含的const char *。 std :: string的c_str() method将返回表示std :: string。

的const char *

例如:

instream.open(file_location.c_str());