Я Джира.
Я пытаюсь реализовать babel в c ++, чтобы преобразовать файл с химической структурой в формате ‘mol’ в файл в формате ‘smiles’.
Я написал код, аналогичный приведенному в документации openbabel ( http://openbabel.org/docs/dev/UseTheLibrary/CppExamples.html ) следующее.
#include <openbabel/obconversion.h>
#include <fstream>
int main(int argc, char **argv){
std::ifstream ifs("a.mol");
std::ofstream ofs("a.smi");
OpenBabel::OBConversion conv(&ifs, &ofs);
conv.setInAndOutFormats("MOL","SMI");
int n = conv.Convert();
std::out << n << " molecules are converted.\n"
return 1;
}
но это всегда печатает
0 molecules are converted.
и вернуть пустой файл «a.smi».
Тем не менее, когда я реализую babel в командной строке, например,
babel -imol a.mol -osmi
это работает отлично.
Я хотел бы спросить, сталкивался ли кто-нибудь с подобной ошибкой и как вы ее решили.
Поскольку я следую всем указаниям в документации, я не могу выяснить причину этой ошибки.
Заранее большое спасибо.
Jira
Задача ещё не решена.
Других решений пока нет …