博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++之map使用
阅读量:5287 次
发布时间:2019-06-14

本文共 1995 字,大约阅读时间需要 6 分钟。

解析文件或者字符串,一key跟keyvalue来存在map中,如下代码:

 

test.h:

#include <map>

#include <vector>

Class test

{

public:

void list_Map();

private:

map<string,string> pensonnel;

map<string,string>::iterator iter;

}

 

test.cpp:

void test::list_Map()

{

ifstream infile;

infile.open("D:\\XX.dpi");
char buffer[1024]={0};
int i=0;
int chang_first=0;
int chang_last=0;
int value_first=0;
int value_last=0;
char key_tag[10]={0};
char value_tag[1024]={0};
if (!infile)
{
return false;

}

while (!infile.eof() )
{
infile.getline (buffer,1024);

i = StringFind(buffer,"Name");

if(i!=-1)

{
chang_first = StringFind(buffer,"\"");
chang_last = StringFind(buffer,"Length");
memcpy(key_tag,buffer+chang_first+1,chang_last-2-chang_first-1);
value_first = StringFind(buffer,"\">");
value_last = StringFind(buffer,"</DGI>");
memcpy(value_tag,buffer+value_first+2,value_last-2-value_first);
string key_string(key_tag);
string value_string(value_tag);
cout<<"insert:"<<key_string<<","<<value_string<<endl;
pensonnel.insert(pair<string, string>(key_string, value_string));

}

}

printf("mapsize=%d\n",pensonnel.size());

for(iter=pensonnel.begin();iter !=pensonnel.end();iter++)

{
cout<<i<<":"<<iter->first<<", "<<iter->second<<endl;
}

}

其中文件XX.dpi内容为:

<?xml version="1.0" encoding="GBK" ?>

<PersoFile>
<CardCounter>5</CardCounter>
<Version>1</Version>
<CardType>0001</CardType>
<Reserve></Reserve>
<CardData>

<AID Length="8">A000000632010105</AID>

<DGI Name="0015" Length="30">02195510FFFFFFFF02000310482000000000080120180704202807040101</DGI>

<DGI Name="0016" Length="55">00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</DGI>
<DGI Name="0017" Length="60">000001565500551000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</DGI>

<Print Type="PAN">310482 00 0000000080 5</Print>

<Print Type="ExpDate">07/18</Print>
<Print Type="EffDate">07/28</Print>

</CardData>

</PersoFile>

转载于:https://www.cnblogs.com/Pond-ZZC/p/10310537.html

你可能感兴趣的文章
RN错误随笔 - Unable to resolve module 'AccessibilityInfo'
查看>>
第十三周
查看>>
C# Upload
查看>>
Stripies
查看>>
Red and Black(poj 1979 bfs)
查看>>
记一次百度面试题
查看>>
Java buildTools
查看>>
使用FormData提交表单及上传文件
查看>>
几种经典的网络服务器架构模型的分析与比较
查看>>
struts2.X心得2--第一个struts2案例分析以及整合c3p0连接数据库案例分析
查看>>
[Qt及Qt Quick开发实战精解] 第1章 多文档编辑器
查看>>
js开发问题
查看>>
项目成本管理
查看>>
SSL-ZYC 抓捕嫌疑犯
查看>>
密码【高精】
查看>>
小程序 new Date(2019-03-01 00:00:00) 返回对象null
查看>>
OCP升级(3.7 ->3.9)
查看>>
css的权重
查看>>
UIButton的状态state
查看>>
CentOS系统参数优化
查看>>