我知道这与“如何在 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);
}
现在,我不想对 map 进行硬编码,而是想从 CSV 中读取数据并将其放入 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 文件读取数据成员的示例。
我建议创建一个默认构造函数。
关于c++ - 将数据从 CSV 文件存储到 C++ 中的 MAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40292253/