【问题标题】:Storing data from CSV file to MAP in C++在 C++ 中将数据从 CSV 文件存储到 MAP
【发布时间】:2016-10-27 19:00:05
【问题描述】:

我知道这与“如何在 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

我如何做到这一点?

【问题讨论】:

  • 哪些字段或哪些字段是关键? std::map 需要一个关键字段。

标签: c++ file csv


【解决方案1】:

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

搜索“stackoverflow c++ 读取文件 csv”将显示大量示例,说明如何重载 operator&gt;&gt; 以从 CSV 文件中读取数据成员。

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

【讨论】:

  • 嗨,Thomas,我最终使用了您建议的方法。这是将单元格数据复制到结构中。一旦结构被填充,我将数据传递给构造函数,最后传递给映射。
猜你喜欢
  • 2015-08-24
  • 2019-11-07
  • 1970-01-01
  • 2017-11-04
  • 2022-01-16
  • 2011-02-14
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
相关资源
最近更新 更多