cvLoadImage() にファイル名を Boost から渡す方法

cvLoadImage() のためにchar配列が欲しいのよネ.const char * か char * かのどちらかが.boost::path から std::string を得,std::string から const char * ()を得る.定義上は const _Elem * と記述されているらしいが,const char * が得られる.

boost::filesystem::directory_iterator it("c:\\");
boost::path p = it->path();
std::string s1 = p.string();
const char *s2 = s1.c_str();
// it->path().string().c_str() // 過程をすっ飛ばすとき,s2 の代わりにこれを入れる
IplImage *img = cvLoadImage(s2);