繁体   English   中英

将文件读入结构数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM