basicexcel无法读取中文文件解决方案
之前我帮学姐写一个程序,要求从excel读取文件然后写入word,我不是一个微软控,不喜欢微软的一些东西,于是采用了basicexcel这个库,但是遇到了无法读取中文文件名的问题。
解决方法很简单,这里有一个修正版本的basicexcel,点击这里下载。
为什么这么解决?
问题出在BasicExcel使用fstream对象打开含中文路径的文件时,其生成的文件即是乱码,进入file_.open()方法,可以发现open的实现里用到了mbstowcs_s函数,而此函数依赖于本地化的设置,通过以下代码可解决其创建含中文路径文件的支持:
setlocale(LC_ALL,"Chinese-simplified");//设置中文环境 file_.open(&*(filename_.begin()), mode_ | ios_base::binary); setlocale(LC_ALL,"C");
参考地址:http://www.cnblogs.com/sunsmile/archive/2013/03/18/ningmengxiu5.html