C++ 如何将信息提取到结构并输出到文件c++;

C++ 如何将信息提取到结构并输出到文件c++;,c++,C++,我只是在学习structs,有点卡住了。我试图从一个包含课程信息(课程、时间、日期等)的文件中提取信息,但是到目前为止,我的代码只输出到新创建的文件中,就是我写的cout文本。你知道我该怎么解决这个问题吗? 以下是我目前的代码: #include <iostream> #include <fstream> #include <string> #include <iomanip> using namespace std; //Holds

我只是在学习structs,有点卡住了。我试图从一个包含课程信息(课程、时间、日期等)的文件中提取信息,但是到目前为止,我的代码只输出到新创建的文件中,就是我写的cout文本。你知道我该怎么解决这个问题吗? 以下是我目前的代码:

    #include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

//Holds all the class information
struct Course{

    string courseName;
    string courseNum;
    string courseDay;
    string courseTime;
    string courseLoc;

};

//Extracts data from the file with the course information
Course getInfo(ifstream &inFile);

//Creates a file with the data from 'getInfo'
void writeInfo(ofstream &outFile, Course course);

int main(){

    ifstream inFile; //link to input file
    ofstream outFile; //link to output file
    Course course; //holds all course info

    inFile.open("Courses.txt"); //opens textfile
    outFile.open("Courses.dat"); //creates new file

    course = getInfo(inFile); //priming read

   while (inFile) {

        writeInfo(outFile, course); //write info to output file

        course = getInfo(inFile); //get info from input file

    }

    inFile.close();
    outFile.close();

}

Course getInfo(ifstream &inFile){

    Course course;

    inFile >> course.courseName >> course.courseNum >> course.courseDay;
    inFile >> course.courseTime  >> course.courseLoc;

    return course;

}

void writeInfo(ofstream &outFile, Course){
    Course course;

    outFile << "Class: " << course.courseName << " Class ID: " << course.courseNum << " Meeting Days: " << course.courseDay << " Class Time: " << course.courseTime << " Class Location: " << course.courseLoc << endl;


}
#包括
#包括
#包括
#包括
使用名称空间std;
//保存所有类信息
结构课程{
字符串courseName;
字符串枚举;
串道;
弦乐时间;
弦乐;
};
//从包含课程信息的文件中提取数据
课程获取信息(ifstream&infle);
//使用“getInfo”中的数据创建文件
无效写入信息(流和流出文件,课程);
int main(){
ifstream infle;//链接到输入文件
ofstream outFile;//链接到输出文件
课程;//保存所有课程信息
inFile.open(“Courses.txt”);//打开文本文件
outFile.open(“Courses.dat”);//创建新文件
课程=获取信息(填充);//读取
while(填充){
writeInfo(输出文件,课程);//将信息写入输出文件
course=getInfo(infle);//从输入文件获取信息
}
infle.close();
outFile.close();
}
课程获取信息(ifstream和infle){
课程;
填充>>课程.courseName>>课程.CourseEnum>>课程.courseDay;
infle>>course.courseTime>>course.courseLoc;
返回路线;
}
无效写入信息(流和输出文件,课程){
课程;

outFile让我们仔细看看代码要求什么

void writeInfo(ofstream&outFile,//将ofstream作为引用参数。
//叫它OutFile
课程)//将课程作为参数。不要给它一个标识符
//这使得提供的课程在函数中不可用
{ 
Course Course;//定义一个名为Course的本地新课程,该课程为默认课程
//初始化

outFile这不是你将变量传递给函数的方式。在尝试进行其他操作之前,可以先查看该章节。你正在
writeInfo
函数中创建一个新的空
课程
,并将其打印到你的文件中。显然,它将是空的。这就像更改
void writeInfo一样简单(指水流和排水管,路线){路线;排水管