解析的串,中间是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;
}