Pagini recente » Statistici Munteanu Alexandru (malex) | Cod sursa (job #3282264) | Cod sursa (job #3122684) | Cod sursa (job #2849183) | Cod sursa (job #1348765)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void parse(string s, vector<string> keys, vector<string> values){
int i = 0;
do {
string key;
i = s.find('"',i);
key = s.substr(i+1,s.find('"',i+1)-i-1);
if (!key.empty()){
cout<<key<<',';
i = s.find(',',i);
}
}while(i != string::npos);
cout << endl;
i = s.find(':',0);
while( i != string::npos) {
string key;
i = s.find_first_not_of(" \n",i+1);
if(s[i] == '"')
key = s.substr(i+1,s.find('"',i+1)-i-1);
else
key = s.substr(i,s.find_first_of(",\n ",i+1)-i);
cout << key <<',';
i = s.find(':',i);
}
cout << endl;
}
int main(){
ifstream f("convertor.in");
ofstream g("convertor.out");
vector<string> keys;
vector<string> values;
string sir;
while(!f.eof()){ // To get you all the lines.
getline(f,sir,'}');
//cout<<sir<<endl;
int a=sir.find_last_of("]");
if ( !sir.empty() && a == string::npos ){
parse(sir, keys, values);
// cout<<sir<<endl;
}
}
f.close();
g.close();
return 0;
}