map写入文件,从文件读取map

  • map写入文件
void serialize_stcd_index(const std::string& filepath, const std::map<std::string, uint32_t>& stcd_index)
{
    std::ofstream file(filepath);
    if (!file.is_open())
    {
        throw std::runtime_error("Failed to open file for writing.");
    }

    for (const auto& [stcd, index] : stcd_index)
    {
        file << stcd << " " << index << std::endl;
    }

    file.close();
}
  • 从文件读取map
// 读取map
std::map<uint32_t, std::string> deserialize_stcd_index(const std::string& filepath)
{
    // std::map<std::string, uint32_t> des_stcd_index;
    std::map<uint32_t, std::string> des_index_stcd;
    std::ifstream file(filepath);
    if (!file.is_open())
    {
        SFP_ERROR("Failed to open file: {}", filepath);
        return des_index_stcd;
    }

    std::string line;
    while (std::getline(file, line))
    {
        std::istringstream iss(line);
        std::string stcd;
        uint32_t index;
        if (!(iss >> stcd >> index))
        {
            continue;
        }

        des_index_stcd[index] = stcd;
    }

    file.close();
    return des_index_stcd;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值