0

ifstream プログラムで抽出したい行 1 に単一の 4 を含む course0.dat ファイルがあります。

void processEnrollments (std::istream& courseFile);

int main (int argc, char** argv)
{

// Take input and output file names from the command line
ifstream coursesIn (argv[1]);

return 0;
}

void processEnrollments (istream& courseFile)
{
int numCourses;
courseFile >> numCourses;

cout << numCourses;

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

私が走るとき

program courses0.dat

私のテストでは、4 ではなく 32767 が出力されています。私の .dat ファイルは、実行可能ファイルと同じディレクトリにあります。

何が起こっているかについての手がかりはありますか?

ありがとう

4

1 に答える 1

0

エラーチェック!引数として渡すときは、ファイルへのフル パスを使用するようにしてください。

ファイルが見つからないかアクセスできないため、私の推測ではcourseFile >> numCourses;失敗します。ifstream coursesIn (argv[1])

これを試して

if( courseFile >> numCourses )
    cout << numCourses;

それは何かを出力しますか?

于 2013-01-30T15:16:02.077 に答える