0

私の質問は非常に単純ですが、適切な解決策を見つけることができないようです。C ++でストリームを作成または開くには、次の構文を使用します。

ifstream input_data("data.txt")

括弧内のものはユーザーが選択する変数にしたい(基本的にはユーザーがデータの保存またはロード元のテキストファイルの名前を選択するようにしたい)

前もって感謝します!

4

1 に答える 1

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 に変換する必要があります。fstream がコンストラクターへの入力として文字列を受け取るのは C++11 までではありませんでした。

ifstream input_data(a.c_str()); // Required for C++03
于 2012-12-24T19:02:31.220 に答える