C++ wifstream读取日文方法(中文适用)

#include <iostream>
#include <fstream>
#include <locale>
#include <codecvt>

int main()
{

    const std::locale empty_locale = std::locale::empty();
    typedef std::codecvt_utf8<wchar_t> converter_type;  //std::codecvt_utf16
    const converter_type* converter = new converter_type;
    const std::locale utf8_locale = std::locale(empty_locale, converter);

    std::wifstream fin("Test_GetNextChar.txt");  //input
    fin.imbue(utf8_locale);

    wchar_t ch;
    while (!fin.eof())
    {
        fin >> ch;
        std::cout << ch << std::endl;
    }

    system("pause");
    return 0;
}

方法来自:https://www.zhihu.com/question/29043383

时间: 2024-10-27 16:25:19

C++ wifstream读取日文方法(中文适用)的相关文章

mvc存储Cookie和读取Cookie方法

mvc存储Cookie和读取Cookie方法: //存储 HttpCookie cookie = new HttpCookie("User"); System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312"); cookie["id"] = HttpUtility.UrlEncode(logid.ToString(), enc); cookie["UserNam

读取文件方法大全

原文链接:[Java]读取文件方法大全 - lovebread - 博客园 http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {    /**     * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件.     */    public static voi

玩转web之ajax(一)---使用表单的serialize()方法中文乱码解决

有时候我们需要使用ajax提交去提交form的值,这样就需要使用serialize()去获取form的值,但这样获取的值如果有中文,会乱码,原因和解决方法如下: 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法:调用decodeURIComponent(XXX,true);将数据解码 如: var data=$('#addf').serialize(); data= decodeURIComponent(data,true); 玩转web之a

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

PHP读取xml方法介绍

PHP读取xml方法介绍 一,什么是xml,xml有什么用途 XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言).Xml是Internet环境中跨平台的... 一,什么是xml,xml有什么用途 XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalize

[Java]读取文件方法大全(转)

[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {    /**     * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件.     */    public static void readFileByBytes(String fileName) {        File file = new File(fileName);        Input

asp.net读取xml方法

这个适合刚学asp.net的同学,大神直接略过好了,asp.net经常会有很多用到XML的地方,比如全国省市的联动,以及一些菜单读取等等都有xml的影子,直接贴代码,以便我以后用到的时候忘了,注释我写得很清楚了,不懂的可以留言. /// <summary> /// 读取城市列表 /// </summary> public void CityList() { StringBuilder sb = new StringBuilder(); XmlDocument xmldoc = ne

【转】Java读取文件方法大全

本文转自:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html#undefined 目录: 按字节读取文件内容 按字符读取文件内容 按行读取文件内容 随机读取文件内容 将内容追加到文件尾部 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fil

C#读取二进制文件方法分析

本文较为详细的分析了C#读取二进制文件方法.分享给大家供大家参考.具体分析如下: 当想到所有文件都转换为 XML时,确实是一件好事.但是,这并非事实.仍旧还有大量的文件格式不是XML,甚至也不是ASCII.二进制文件仍然在网络中传播,储存在磁盘上,在应用程序之间传递.相比之下,在处理这些问题方面,它们比文本文件显得更有效率些. 在 C 和 C++ 中,读取二进制文件还是很容易的.除了一些开始符(carriage return)和结束符(line feed)的问题,每一个读到C/C++中的文件都是