Changeset cfaf42 for molecuilder/src/periodentafel.cpp
- Timestamp:
- May 26, 2008, 1:28:28 PM (17 years ago)
- Children:
- 9bfb34
- Parents:
- 8b486e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/periodentafel.cpp
r8b486e rcfaf42 148 148 while (walker->next != end) { 149 149 walker = walker->next; 150 if ( checkliste[walker->Z]) {150 if ((walker != NULL) && (walker->Z > 0) && (walker->Z < MAX_ELEMENTS) && (checkliste[walker->Z])) { 151 151 walker->No = No; 152 152 result = result && walker->Checkout(output, No++, checkliste[walker->Z]); … … 160 160 161 161 /** Loads element list from file. 162 */ 163 bool periodentafel::LoadPeriodentafel(char *filename) 162 * \param *path to to standard file names 163 */ 164 bool periodentafel::LoadPeriodentafel(char *path) 164 165 { 165 166 ifstream infile; … … 168 169 bool status = true; 169 170 bool otherstatus = true; 171 char *filename = new char[MAXSTRINGSIZE]; 170 172 171 173 // fill elements DB 172 if (filename == NULL)173 infile.open(STANDARDELEMENTSDB);174 else175 174 strncat(filename, path, MAXSTRINGSIZE); 175 strncat(filename, "/", MAXSTRINGSIZE-strlen(filename)); 176 strncpy(filename, STANDARDELEMENTSDB, MAXSTRINGSIZE-strlen(filename)); 177 infile.open(filename); 176 178 if (infile != NULL) { 177 179 infile.getline(header1, MAXSTRINGSIZE); … … 198 200 infile >> neues->VanDerWaalsRadius; 199 201 //infile >> ws; 200 periodentafel::AddElement(neues);201 202 infile >> ws; 202 203 cout << " " << neues->symbol; 203 204 //neues->Output((ofstream *)&cout); 205 if ((neues->Z > 0) && (neues->Z < MAX_ELEMENTS)) 206 periodentafel::AddElement(neues); 207 else { 208 cout << "Could not parse element: "; 209 neues->Output((ofstream *)&cout); 210 } 204 211 } 205 212 cout << endl; … … 210 217 211 218 // fill valence DB per element 212 infile.open(STANDARDVALENCEDB); 219 strncat(filename, path, MAXSTRINGSIZE); 220 strncpy(filename, STANDARDVALENCEDB, MAXSTRINGSIZE-strlen(filename)); 221 infile.open(filename); 213 222 if (infile != NULL) { 214 223 while (!infile.eof()) { … … 225 234 226 235 // fill valence DB per element 227 infile.open(STANDARDORBITALDB); 236 strncat(filename, path, MAXSTRINGSIZE); 237 strncpy(filename, STANDARDORBITALDB, MAXSTRINGSIZE-strlen(filename)); 238 infile.open(filename); 228 239 if (infile != NULL) { 229 240 while (!infile.eof()) { … … 240 251 241 252 // fill H-BondDistance DB per element 242 infile.open(STANDARDHBONDDISTANCEDB); 253 strncat(filename, path, MAXSTRINGSIZE); 254 strncpy(filename, STANDARDHBONDDISTANCEDB, MAXSTRINGSIZE-strlen(filename)); 255 infile.open(filename); 243 256 if (infile != NULL) { 244 257 while (!infile.eof()) { … … 258 271 259 272 // fill H-BondAngle DB per element 260 infile.open(STANDARDHBONDANGLEDB); 273 strncat(filename, path, MAXSTRINGSIZE); 274 strncpy(filename, STANDARDHBONDANGLEDB, MAXSTRINGSIZE-strlen(filename)); 275 infile.open(filename); 261 276 if (infile != NULL) { 262 277 while (!infile.eof()) {
Note:
See TracChangeset
for help on using the changeset viewer.