我有一个course0.dat文件,第一行有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文件与我的可执行文件位于同一目录中。
关于发生了什么的任何线索?
感谢
答案 0 :(得分:0)
检查错误!当您将其作为参数传递时,尝试使用文件的完整路径。
我的猜测是courseFile >> numCourses;
失败,因为ifstream coursesIn (argv[1])
找不到或无法访问该文件。
试试这个
if( courseFile >> numCourses )
cout << numCourses;
它输出的是什么吗?