openbabel — реализовать babel на c ++, но он не может конвертировать химический файл

Я Джира.
Я пытаюсь реализовать 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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]