任意流名称

时间:2012-12-24 16:11:16

标签: c++ stream

我的问题非常简单,但我似乎无法找到合适的解决方案。要在c ++中创建或打开流,请使用以下语法:

ifstream input_data("data.txt")

我希望括号内的东西是用户选择的变量。(我基本上希望用户选择存储或加载数据的文本文件的名称)

提前致谢!

1 个答案:

答案 0 :(得分:1)

移出问题:

在这种情况下,input_data是一个带字符串的构造函数,所以你只需要把它放在那里 串。解决问题的一个好方法是:

string a;              // declare the string
cin >> a;              // let the user input the name
a = a + ".txt";        // add the extension
ifstream input_data(a);// run the constructor with the string as an argument. 

注意:在C ++ 03中,您需要将字符串转换为C-String。直到C ++ 11,fstream才把一个字符串作为构造函数的输入。

ifstream input_data(a.c_str()); // Required for C++03