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

标签 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);
}

现在,我不想对 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/

相关文章:

c++ - 在STL映射中通过引用查找并返回

java - 使用 ndk-build 从 Android 库项目链接到共享库

java - 在java中将html文件存储在字符串中

c - C 中的 xls 文件而不覆盖

python - 不使用内置函数的文件压缩

python - 问 : Pandas dataframe from for loop

c++ - Eclipse-CDT:如何处理打开套接字的权限被拒绝错误?

c++ - 使用坐标和 time_t 的时钟程序

csv - Spark读取多个CSV文件,每个文件一个分区

Python 将日期时间导出到 csv