当文件名为“Unicode”文件名时,我需要打开std :: fstream(或其他std :: ostream)文件.
在MSVC下我有非标准的扩展名std :: fstream :: open(wchar_t const *,…)?我可以用其他的编译器,如GCC(最重要的)和Borland编译器.
我知道CRTL提供了_wfopen,但它提供了C FILE *接口而不是io流,也许有一个非标准的方式来创建io流从FILE *?有没有任何boost :: ifstream与MSVC像Windows的扩展?
解决方法
不幸的是,没有标准的方法来做到这一点,尽管C 0x(1x?)承诺做到这一点.在此之前,您正确地假设Boost中可以找到一个解决方案,但是您正在搜索的库是
Boost.Filesystem.
Boost.Filesystem在内部使用宽字符串作为其通用路径系统,所以在这方面没有unicode问题.