去年写过一个博客介绍了自己写的一个读写Unicode编码文件的方法,这个方法不使用系统提供的类库,使用标准C++的方法,因此很很好的可移植性。
上次写的没经过大规模的测试,这几天对这个方法进行了修改:
1支持Windows和Linux的换行符
2修改了部分代码,使之更加健壮
代码如下:
/*
*************************************************
功能 : 按照行读取UTF16编码的文件,读取后去掉换行符
参数 :
返回值 :
-------------------------------------------------
备注 : 可以处理windows和linux格式的换行符
-------------------------------------------------
作者 :Li Yachao
时间 :2013-2-26
*************************************************
*/
bool FileIO::UTF16FileRead(const std::string& path, std::vector<std::wstring> &vec_lines)
{
/*****************打开文件***********************************************/
vec_lines.clear();
std::ifstream fin;
fin.open(path.c_str(),std::ios::in | std::ios::binary);
if (!fin.is_open())
{
std::cerr << "Open