vs2008 、vs2005下 std::ifstream中不支持中文,是因为在vs2008 、vs2005 下,默认传入的 unicode 字符集 ,而一般开发的时候 大多数使用的多字节字符集,所以会导致出错 。
1、使用C语言的函数设置为中文运行环境
setlocale(LC_ALL, "Chinese-simplified");
2、使用STL函数设置为系统语言环境
std::locale::global(std::locale(""));
3. 或者 直接 修改 log4cpp 的 参数,直接传入的是 宽字节 。