ジラです。「mol」形式の化学構造のファイルを「smiles」形式のファイルに変換するために、C ++でbabelを実装しようとしています。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
それは正常に動作します。
この種のエラーを経験したことがある人がいるか、どのように解決したかを尋ねたいと思います。ドキュメントに記載されているすべてのことに従っているため、このエラーの理由がわかりません。
事前にどうもありがとうございました。
ジラ