将数据从CSV文件存储到c++中的MAP

Storing data from CSV file to MAP in C++

本文关键字:c++ 中的 MAP 存储 文件 数据 CSV      更新时间:2023-10-16

我知道这与"如何在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中读取数据并将其放入Map中,而不是硬编码Map。

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. 从CSV文件读入结构(而不是使用硬编码的构造函数)。
2. 插入std::map

搜索"stackoverflow c++ read file csv"将会显示大量关于如何重载operator>>以从csv文件中读取数据成员的示例。

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