我想使用Boost在路径名中打开带有Unicode字符的文件。我目前正在使用“ file_source ”类。 Here是我正在使用的结构的概要:
namespace boost { namespace iostreams {
template<typename Ch>
class basic_file_source {
public:
typedef Ch char_type;
typedef implementation-defined category;
basic_file_source( const std::string& path,
std::ios_base::openmode mode =
std::ios_base::in );
bool is_open() const;
...
};
typedef basic_file_source<char> file_source;
typedef basic_file_source<wchar_t> wfile_source;
} } // End namespace boost::iostreams
正如您可以看到“ file_source ”和“ wfile_source ”的构造函数一样,路径为“ std :: string ”。但我可以用UTF-16表示我的文件路径。如何将此路径参数传递给这些构造函数,以便我可以打开必要的文件?
或者还有其他方法可以使用Boost正确打开带有Unicode路径名的文件吗?