c++11新特性之宽窄字符转换

C++11增加了unicode字面量的支持,可以通过L来定义宽字符:str::wstringstr=L"中国人";将宽字符转换为窄字符串需要用到codecvt库中的std:

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  C++11增加了unicode字面量的支持,可以通过L来定义宽字符:str::wstring str = L”中国人”;

  将宽字符转换为窄字符串需要用到codecvt库中的std::wstring_convert

  例:

#include "stdio.h"

#include<string>
#include<codecvt>
#include<iostream>
using namespace std;

void main()
{
    wstring wstr = L"中国人";
    cout << "unicode编码:" << wstr.c_str() << endl;

    wstring_convert<codecvt<wchar_t, char, mbstate_t>> converter(new codecvt<wchar_t, char, mbstate_t>("CHS"));

    string str = converter.to_bytes(wstr);
    cout << "ansi编码:" << str << "  " << str.c_str() << endl;

    wstring wstr1 = converter.from_bytes(str);
    wcout.imbue(locale("CHS"));  // 初始化cout为中文输出
    wcout << L"unicode编码:" << wstr1 << endl;
}

c++11新特性之宽窄字符转换

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120133.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ringbuffer的常规用法_wear ring

    ringbuffer的常规用法_wear ring文章目录概述示例引用概述ringbuffer,或者说循环队列,是嵌入式开发中的一个基本模型,常用于命令队列,资源循环分配场合。示例ring_buffer.hringbuffer封装APItestringbuffer.c测试ringbufferapi.//ring_buffer.h#include<stdlib.h>typedefstructs_ring_buffer{ inttail; inthead; intsize; intitem_si

    2025年10月19日
    2
  • Java安全之挖掘回显链

    Java安全之挖掘回显链0x00前言前文中叙述反序列化回显只是为了拿到Request和Response对象。在这里说的的回显链其实就是通过一连串反射代码获取到该Request对象。在此之前想吹

    2021年12月13日
    50
  • APP测试基本流程以及APP测试要点梳理,保证您看了不后悔!

    APP测试基本流程以及APP测试要点梳理,保证您看了不后悔!前言:相信很多刚刚步入测试行业的小伙伴对于APP测试不是很熟悉,这次我为大家提供一篇宝藏文章,希望大家喜欢,谢谢!一、APP测试基本流程1、流程图2、测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。3、测试资源测试任务开始前,检查各项测试资源。–产品功能需求文档;–产品原型图;–产品效果图;–测试设备;–其他。4、日报及产品上线报告(内部报告机制)–测试人员每天需对所测项目发送测试日报。(

    2022年5月5日
    112
  • verilog cpu流水线_设计一个非常简单的CPU

    verilog cpu流水线_设计一个非常简单的CPU快把这一篇给更了

    2022年8月14日
    4
  • 测试一下博客行吗

    测试一下博客行吗;;;;;;;;;——————-iK7VUYG0yF6lS3QNNmW4Gw==tRymiHsi9AbKpr3tTFXxup1GFhuX0czs73gSv/E7b5c=uk29oXxJxAg+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=eIWSkIow/vo+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=pcL609

    2022年7月11日
    17
  • vue上传文件组件使用_uniapp支持ios文件上传

    vue上传文件组件使用_uniapp支持ios文件上传imgList:[],size:0,limit:undefined}},methods:{//设置fileClick(){document.getElementById(‘upload_file’).click()},fileChange(el){if(!el.target.files[0].size)returnthis.fileList(el.target)el.target.value=‘’},fileList(fileList){letfil

    2022年8月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号