blob数据:3132332C31332C302C362C302C312C392C342C352C32302C342C31312C31302C302C
#include <fstream>
#include <iostream>
#include <stdlib.h>
using namespace std;
void main()
{
FILE *pt;
if((pt=fopen( "d:\\test2.txt ", "a+ "))==NULL)
{
cout << "erro " <<endl;
}
char ch;
int i=1;
while((ch=fgetc(pt))!=EOF)
{
if(i%2==0)
{
if(ch=='C')
cout<<',';
else
cout <<ch;
}
i++;
}
fclose(pt);
getchar();
}
解密结果
12,0,0,0,0,0,0,0,0,0,0,0,0,
#include <fstream>
#include <iostream>
#include <stdlib.h>
using namespace std;
void main()
{
FILE *pt;
if((pt=fopen( "d:\\test2.txt ", "a+ "))==NULL)
{
cout << "erro " <<endl;
}
char ch;
int i=1;
bool bRoleData=false; // 是否是角色数据
bool bBlob=false; //是否是blob
while((ch=fgetc(pt))!=EOF)
{
if(bBlob)
{
if(i%2==0)
{
if(ch=='C')
cout<<',';
else
cout <<ch;
}
}
else if(bRoleData)
{
if(ch!='\''&&ch!='X')
cout <<ch;
}
if(ch=='X')
bBlob=true;
if(ch==','||ch=='X'||ch=='\'')
continue;
else if(ch=='(')
bRoleData=true;
else if(ch==')')
{
bRoleData=false;
bBlob=false;
}
if(bBlob)
i++;
if(ch==';')
i=1;
}
fclose(pt);
getchar();
}