プログラム悪戦苦闘日記

はてなダイアリーからの移行(遺物)

boost::filesystem::path 割り算ができない

 
boost::filesystem::pathで割り算をするとき、「割る数」に日本語や空白が入っていると例外をスルーしてしまう。

using namespace boost::filesystem;

path   dir("C:\\", native);
string str("ほえほえ");
// ↓ここで例外が出る
dir /= str;

仕方ないので、これを回避するにはpathを文字列からコンストラクトする。

using namespace boost::filesystem;

path   dir("C:\\", native);
string str("ほえほえ");
// ↓これで大丈夫
path   dir2(dir.native_file_string() + str, native);