View difference between Paste ID: HHy149fZ and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | vector<OBMol> molecules; |
2 | OBMol mol; | |
3 | while (!feof(f)) { | |
4 | fscanf(f, "%c %c", &type, &comment); | |
5 | if (type == comment) | |
6 | continue; | |
7 | ||
8 | //molecule title and its frequency | |
9 | if (type == 't') { | |
10 | fscanf(f, "%256s %d\n", buffer, &frequency ); | |
11 | m.SetTitle(buffer); | |
12 | } | |
13 | ||
14 | //molecule nodes and edges | |
15 | while (!feof(f)) { | |
16 | fscanf(f, "%c", &type); | |
17 | if (type == 'v' || type == 'V') { | |
18 | fscanf(f, "%d %256s\n", &v1, buffer); | |
19 | m.NewAtom(v1); | |
20 | ||
21 | //set atom type | |
22 | m.GetAtomById(v1)->SetType(buffer); | |
23 | } | |
24 | else if (type == 'u' || type == 'U' ){ | |
25 | fscanf(f, "%d %d %d\n", &v1, &v2, &order); | |
26 | m.AddBond(v1+1, v2+1, order); | |
27 | POS = ftell(f); | |
28 | } | |
29 | else if(type == 't') { | |
30 | //go back one line to get new molecule header | |
31 | fseek(f, POS, SEEK_SET); | |
32 | molecules.push_back(m); | |
33 | break; | |
34 | } | |
35 | } | |
36 | m.Clear(); | |
37 | } | |
38 | } |