我很难理解如何将文件传递给函数.
我有一个20个名字和20个测试分数的文件,需要由一个函数读取.然后,该函数将名称和分数分配给名为student的结构.
我的问题是如何使用适当的参数编写函数调用.?使我的函数读取文件中的数据.谢谢.
码
// ask user for student file
cout << "Enter the name of the file for the student data to be read for input" << endl;
cout << " (Note: The file and path cannot contain spaces)" << endl;
cout << endl;
cin >> inFileName;
inFile.open(inFileName);
cout << endl;
// FUNCTION CALL how do i set this up properly?
ReadStudentData(inFile, student, numStudents );
void ReadStudentData(ifstream& infile, StudentType student[], int& numStudents)
{
int index = 0;
string lastName, firstName;
int testScore;
while ((index < numStudents) &&
(infile >> lastName >> firstName >> testScore))
{
if (testScore >= 0 && testScore <= 100)
{
student[index].studentName = lastName + ", " + firstName;
student[index].testScore = testScore;
index++;
}
}
numStudents = index;
}
Run Code Online (Sandbox Code Playgroud)
小智 0
对文件对象的引用似乎没问题,但 StudentType 对象的数组可能是错误的。尝试这个:
void ReadStudentData(ifstream& infile,
std::vector<StudentType>& vecStudents,
int& numStudents)
Run Code Online (Sandbox Code Playgroud)