如何将文件传递给函数?

Mic*_*key 5 c++ visual-c++

我很难理解如何将文件传递给函数.

我有一个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)