使用C ++将CSV文件中的数据存储到MAP

时间:2016-10-27 19:00:05

标签: c++ file csv

我知道这与“如何从C ++中的CSV文件中读取数据”非常相似。 拜托我。 我在类

中有构造函数
class DatFlow{
public: 
DataFlow(uint8_t Data_flow_id, uint8_t data_type, 
                uint8_t priority, uint8_t window_size, uint16_t send_ttl,
                uint16_t sequence_ttl, uint16_t guard_ttl, uint8_t retry_count, 
                uint8_t repeat_count, bool ack);
...
};

我有一张声明为

的数据流的地图
std::map<uint8_t, DataFlow> Data_flow_map_;

调用DataFlowManager时 //如下面

DataFlow::DataFlowManager(id, ttl)
{
 Data_flow_map_[2]  = DatFlow( 2, Traffic0,  2,  8, 0, 500, 300, 3, 0, false);

        Data_flow_map_[13] = DataFlow(13, Traffic1,  2,  8, 0, 500, 300, 3, 0, false);
        Data_flow_map_[14] = DataFlow(14, Traffic2,  1,  8, 0, 500, 300, 3, 0, false);
}

现在,我不想对地图进行硬编码,而是想从CSV中读取数据并将其放入地图中。

The csv file contains could look like 
2, Traffic0,  2,  8, 0, 500, 300, 3, 0, false
13, Traffic1,  2,  8, 0, 500, 300, 3, 0, false
14, Traffic1,  1,  8, 0, 500, 300, 3, 0, false

我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

实现这一目标的方法太多了 基本算法:
1.从CSV文件读取结构(而不​​是使用硬编码的构造函数) 2.插入std::map

搜索&#34; stackoverflow c ++读取文件csv&#34;将揭示大量关于如何重载operator>>以从CSV文件中读取数据成员的示例。

我建议创建一个默认构造函数。