C++ C++;如何推回向量结构的()成员
我得到了这个结构:C++ C++;如何推回向量结构的()成员,c++,vector,struct,push-back,C++,Vector,Struct,Push Back,我得到了这个结构: struct human{ int ma; double su; string nev; }; 这一部分在main()中: 使用t.push_back(?) 我想把文件中的东西放到向量结构中 int ma; double su; string nev; 文件中的元素数未知。 所以最大的问题是如何使用push_back()填充我的结构? 对不起,没有问题:) 内容如下:(in.txt) 您的循环可能如下所示: for (;;) { human h;
struct human{
int ma;
double su;
string nev;
};
这一部分在main()中:
使用t.push_back(?)代码>
我想把文件中的东西放到向量结构中
int ma;
double su;
string nev;
文件中的元素数未知。
所以最大的问题是如何使用push_back()填充我的结构代码>?
对不起,没有问题:)
内容如下:(in.txt)
您的循环可能如下所示:
for (;;)
{
human h;
inf >> h.ma;
inf >> h.su;
inf >> h.nev;
if ( !inf )
break;
t.push_back( std::move(h) );
}
显然,读取文件的细节取决于文件格式,而您没有指定文件格式。切勿在循环条件下使用eof()
,实际上,您要测试的是您是否成功读取了您试图读取的数据。不知道某个时候是否有文件结尾。您需要从文件中读取行。这取决于每个人类在文件中的表示方式?是每人一行还是多行?您需要读取该行,转换为适当的类型(int,double),然后构造结构并将其推回向量。如果你能提供一个小的有代表性的输入文件,它将阐明需要什么。不要使用eof作为循环条件,你需要向我们展示文件中的内容是什么样子的。
int ma;
double su;
string nev;
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) );
}