专栏首页IT探索Map与string之间相互转换的一种实现方式

Map与string之间相互转换的一种实现方式

#define KEY_SEG "[$]"
#define VAL_SEG "[#$%]"

template<typename T1, typename T2>

std::string map2String(const std::map<T1, T2>& mapIn,string key_seg,string val_seg)
{
    std::ostringstream oss;
 oss.str("");
    typename std::map<T1, T2>::const_iterator it = mapIn.begin();
    typename std::map<T1, T2>::const_iterator itEnd = mapIn.end();
    for(; it != itEnd; it++)
    {
        oss<< it->first << key_seg << it->second << val_seg;
    }
 return oss.str();
}

template<typename T1, typename T2>    
int string2Map(const string& strIn, map<T1, T2>& mapOut,string key_seg,string val_seg)
{
 if (strIn.empty()) 
    {
        return -1;
    } 
    vector<string> vElement = TC_Common::sepstr<string>(strIn, string(val_seg));
    for(unsigned int i=0; i<vElement.size(); i++)
    {
  string::size_type pos = vElement[i].find(key_seg);
        mapOut[TC_Common::trim(vElement[i].substr(0, pos), " ")] = TC_Common::trim(vElement[i].substr(pos+1), " ");
    } 
    return 0;

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 按十进制位与运算

    方法1:对程序员来说最简单的是,让游戏策划把所有5级装备都配置在表格里,他们的解锁关卡都是10234567;

    用户1396155
  • 网络基础知识

    1)以太网:采用CSMA/CD的媒体介入方法,速率为10Mb/s,地址为48 bit;

    用户1396155
  • linux命令使用方法

    在虚拟机软件的菜单栏中一次选择“虚拟机->设置->选项->共享文件夹”,在右侧选启用或在下次电源关闭或挂起前启用,点击下面的添加,下一步,在主机路径中选中win...

    用户1396155
  • 11-散列1 电话聊天狂人 (25分)

    输入首先给出正整数NN(\le 10^5≤10 ​5 ​​ ),为通话记录条数。随后NN行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的1...

    AI那点小事
  • Scala语言学习笔记一

    Scala是一门小众的语言,但是作者因为工作原因要以Spark作为工作中的一个重心,而Spark采用了Scala语言编写,于是萌生了认真学习Scala的念头,在...

    刀刀老高
  • (3)分子生物学专业名词

    2、多顺反子见于原核生物意指一个mRNA分子编码多个多肽链。这些多肽链对应的DNA片段则位于同一转录单位内,各自拥有起点和终点。

    生信real
  • 每天一道leetcode-103二叉树的锯齿形层次遍历

    今天的题目 每天的题目见github(看最新的日期): https://github.com/gzc426

    乔戈里
  • 科斯定理与区块链

    总体而言,简单的分类可将交易成本区分为以下几项(Williamson, 1975):

    liangdabiao
  • TCP分段与IP分片的区别与联系

    我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段(Segmentation),在接收时进行重组,同样IP数据报在长度超过一定值时...

    我是东东东
  • 达鸿飞:新经济体系已经诞生,像小强一样有超强的适应能力!

    区块链大本营

扫码关注云+社区

领取腾讯云代金券