c/c++两列字符串解析到map中

解析的串,中间是tab键

ACI  0x52,0x6F
ACP  0xD4,0xC3
ADM  0x43,0x4C
ADR  0x4F,0x70
ADT  0x41,0x64
AG  0x2A,0x42
AUTORUN  0x5B,0x61

将两列串解析到map中,类型为key文件头为value
vs(2008)
#include <stdio.h>
#include <string>
#include <iostream>
#include <map>

using namespace std;

int main(void)
{
 FILE *oldfile, *newfile1, *newfile2;
 char oldname[50] = "c://trid020.txt";
 char newname1[50] = "c://test1.txt";
 char newname2[50] = "c://test2.txt";
 char type[20];
 char header[20];
 map<string, string> maptype;
 map<string, string>::iterator iter;

 if((oldfile = fopen(oldname, "r+")) == NULL)
  perror("Open error!");

 if((newfile1 = fopen(newname1, "w+")) == NULL)
  perror("Open error!");

 if((newfile2 = fopen(newname2, "w+")) == NULL)
  perror("Open error!");

 while(2 == fscanf(oldfile, "%s%s", &type, &header))
 {
  fprintf(newfile1, "%s/n", type);
  fprintf(newfile2, "%s/n", header);
  maptype.insert(pair<string, string>(type, header));
  memset(type, 0, 20);
  memset(header, 0, 20);
 }

 for (iter=maptype.begin(); iter!=maptype.end(); iter++)
 {
  cout<<iter->first<<"--"<<iter->second<<endl;
 }

 fclose(oldfile);
 fclose(newfile1);
 fclose(newfile2);
 return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值