私はプログラミング初心者で、競技プログラミングに興味があります。最近、COCI 問題のグレーダーを作成しました。このコードの関数では、ループを使用して入力ファイルから入力を取得します。そのファイルを開く部分は次のようになります -
int next(int id)
{
// [[OPEN FILES]] -----------------------
string name1 = probid+".in." + itoa(id);
string name2 = probid + "OUTPUT" +".out." + itoa(id);
FILE *fp1 = fopen(name1.c_str(), "r");
if(!fp1) return 0; // no file left?
FILE *fp2 = fopen(name2.c_str(), "w");
// process data
}
「id」は入力ファイルを変更して開き、結果を出力ファイルに書き込みます。主な問題は、(fscanf) を使用してデータを読み取る必要がありますが、cin、cout を使用して入力を取得したいことです。(フリーオープンが提供するもの)
しかし、freopen を使用してループを実行すると、複数のファイルからの入力の読み取りに失敗します。そのため、fopen() を使用する必要があります。
とにかく、cin、cout を使用して、この関数を使用してファイルから入力を取得できますか?