#include "stdafx.h"
#include <string>
#include <iostream>
#include <locale>
#include <fstream>
#include <codecvt>
#include <wtypes.h>
using namespace std;
#include <string>
#include <vector>
using std::vector;
using std::string;
/*
codecvt_utf16的最后参数我使用的是little_endian,因为我的文件就是这格式的,大家根据自己的情况进行修改。
如果纯粹的读取内容的话,可以使用consume_header,自动识别格式。
wofstream需要使用二进制输出,否则输出来的回事乱码。
*/
int main()
{
locale utf16(locale(""), new codecvt_utf16<wchar_t, 0x10ffff, little_endian>);
wifstream fin("k:\\test_Unicode.txt");
fin.imbue(utf16);
wofstream fout("k:\\test_Unicode_2.txt", ios_base::out | ios_base::binary);
fout.imbue(utf16);
wstring line;
while (getline(fin, line))
fout << line << endl;
return 0;
}
fstream读写UNICODE文件
最新推荐文章于 2024-03-21 14:11:19 发布