0

我有一个 course0.dat 文件,第 1 行有一个 4,我想用我的 ifstream 程序提取它:

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

我的测试是计算 32767 而不是 4。我的 .dat 文件与我的可执行文件位于同一目录中。

关于发生了什么的任何线索?

谢谢

4

1 回答 1

0

检查错误!当您将其作为参数传递时,请尝试使用文件的完整路径。

我的猜测是courseFile >> numCourses;失败,因为ifstream coursesIn (argv[1])找不到或无法访问该文件。

试试这个

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

那么它会输出任何东西吗?

于 2013-01-30T15:16:02.077 回答