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