C 如何推动vector struct的成员
C++ how to push_back() members of vector struct
我得到了这个结构:
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()
,实际上您要测试的是您是否成功阅读了要读取的数据。不是在某个时候是否有文件结束。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如何在c++中定义以struct为数据成员的类中的构造函数
- 错误 C2864:'element::next':只能在类 (STRUCT) 中初始化静态常量整数数据成员
- C 如何推动vector struct的成员
- 在模板类中声明的struct成员失败
- 使用struct作为成员功能的包装器
- 使用struct成员抛出bad_alloc创建地图
- 'struct std::string'没有名为'c_string'的成员
- 使用struct作为私有成员在链接列表类中定义ListNode
- 作为struct成员的Std::unordered_map的地址为0
- 在struct[]中分配char*指针值(结构成员)的最优化方法
- 为结构成员分配的内存是连续的吗?如果struct成员是数组呢?
- 为什么boost::fusion序列中的struct数组成员类型不能正确推导
- 通过struct将参数传递给CreateThread(),并在不影响前面线程的情况下更改后续线程的成员
- 将struct的成员声明为uint32_t时额外的字节
- 'struct std::pair<int, int>'没有名为'serialize'的成员
- 带有位域成员变量的Struct
- 结构成员之前"struct"和缺少"struct"单词有什么区别
- 是否可以有一个std::vector of struct和一个fexible数组成员
- 在c++中使用全局函数的struct成员的方法