[英]Reading a file into a struct array
在没有eof的情况下将文件读入结构时遇到麻烦。 我的.h文件中包含所有需要的内容,并且出现错误消息“ IntelliSense:没有运算符“ >>”与这些操作数匹配“
struct Courses
{
string mCourseID;
double mCourseNumber;
double mMaxCapacity;
double mCurrentEnroled;
};
Courses addCourse(istream &File);
Courses addCourse(istream &File)
{
Courses sData;
File >> sData.mCourseID;
File >> sData.mCourseNumber;
File >> sData.mCurrentEnroled;
File >> sData.mMaxCapacity;
return sData;
}
void readCourses(Courses sCourses[], ifstream &File, int &numCourses)
{
while (addCourse(File) >> sCourses[numCourses])
{
numCourses++;
}
}
我想,您想将addCourse
的签名更改为此...
istream& addCourse(istream &File, Courses& sData)
{
File >> sData.mCourseID;
File >> sData.mCourseNumber;
File >> sData.mCurrentEnroled;
File >> sData.mMaxCapacity;
return File;
}
然后,使用这些修改来修改其他功能...
void readCourses(Courses sCourses[], ifstream &File, int &numCourses)
{
while (addCourse(File, sCourses[numCourses]))
{
numCourses++;
}
//......
但是,您的Courses
阵列sCourses
大到足以容纳您将要输入的尽可能多的Courses
? 还是您会提出停止条件? ...重新考虑您的程序逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.