我只是想知道,在尝试使用流时,您是否可以让用户输入文件的位置?
我想做的事情:
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;)'
答案 0 :(得分:1)
改为使用instream.open(file_location.c_str());
。
答案 1 :(得分:0)
你有正确的想法,但你的类型有点不正确。 open
采用const char *,而不是std :: string,因此需要提供字符串包含的const char *。 std :: string的c_str()
method将返回表示std :: string。
例如:
instream.open(file_location.c_str());