C 如何推动vector struct的成员

C++ how to push_back() members of vector struct

本文关键字:成员 struct vector 何推动      更新时间:2023-10-16

我得到了这个结构:

 struct human{
 int ma;
 double su;
 string nev;
};

和main((中的此部分:

    vector<human> t;
    fstream inf("in.txt");

我想使用以下方式阅读文件中的信息:

while(!inf.eof())
   {
       t.push_back(??????);
   }

使用t.push_back(??????);我想将这些内容从文件中放入我的矢量struct

 int ma;
 double su;
 string nev;

文件中的数字未知。因此,最大的问题是如何使用push_back();填充我的结构?抱歉,菜鸟问题:)内容看起来像这样:( in.txt(

123
34.34
Dani
180
70.1
Victor
190
90
julika
200
45
rozika

您的循环看起来像:

for (;;)
{
    human h;
    inf >> h.ma;
    inf >> h.su;
    inf >> h.nev;
    if ( !inf )
        break;
    t.push_back( std::move(h) );
}

显然,读取文件的详细信息取决于您未指定的文件格式。切勿在循环条件下使用eof(),实际上您要测试的是您是否成功阅读了要读取的数据。不是在某个时候是否有文件结束。