0

私は現在、コマンドライン引数からデータを抽出し、それをifstreamに貼り付けてから、ファイルから情報を抽出する必要がある関数への参照によって渡すクラスのコマンドライン入力プログラムを実行しています。

まず、それを理解している」

ifstream coursesIn (argv[1]);

入力ファイル名を ifstream 型の courseIn 変数に入れます。ここから、.open(argv[1]); などの操作を実行できます。必要なデータを抽出するため。

次に、変数を processEnrollments(coursesIn) という関数に渡します。

プロトタイプは次のようになります。

processEnrollments (std::istream& courseFile);

変数を関数内に配置して関数内に入ると、教授は次のコードを提供しました。

void processEnrollments (istream& courseFile, istream& enrollmentRequestsFile,
         ostream& reportFile)
{
int numCourses;
courseFile >> numCourses;

// Create the arrays we need
//!! Insert your code here
}

まず、関数内の最初の 2 行で彼が何をしようとしているのかわかりません。次に、ファイル名からデータを抽出するために .open(argv[1]) メソッドを実行できなくなりました。

関数の外では、必要なものはすべて手に入ると信じていますが、合格した後は途方に暮れています。

助けてくれてありがとう!

4

1 に答える 1

0

ストリームについてもっと読む必要があります。

宣言

ifstream coursesIn (argv[1]);

coursesInあなたが正しい限り、変数を作成しますが、によって提供されたファイル名でファイルも開きargv[1]ます。このようにすればopen、後でそれを行う必要はありません。

関数に関しては、その最初の行で整数変数を宣言し、2 行目でファイルから整数を読み取り、courseFileそれを変数に格納しnumCoursesます。

最後に、すべての入力ストリームは同じベースを持っていることを覚えておいてください。たとえば、入力を読み取ることができる場合はcin、ファイルから入力を読み取ることもできます。

于 2013-01-30T13:57:27.160 に答える