vector<OBMol> molecules;
OBMol mol;
while (!feof(f)) {
fscanf(f, "%c %c", &type, &comment);
if (type == comment)
continue;
//molecule title and its frequency
if (type == 't') {
fscanf(f, "%256s %d\n", buffer, &frequency );
m.SetTitle(buffer);
}
//molecule nodes and edges
while (!feof(f)) {
fscanf(f, "%c", &type);
if (type == 'v' || type == 'V') {
fscanf(f, "%d %256s\n", &v1, buffer);
m.NewAtom(v1);
//set atom type
m.GetAtomById(v1)->SetType(buffer);
}
else if (type == 'u' || type == 'U' ){
fscanf(f, "%d %d %d\n", &v1, &v2, &order);
m.AddBond(v1+1, v2+1, order);
POS = ftell(f);
}
else if(type == 't') {
//go back one line to get new molecule header
fseek(f, POS, SEEK_SET);
molecules.push_back(m);
break;
}
}
m.Clear();
}
}