c++11 多国语言字符串处理
c++11 多国语言字符串处理方案
文本编码格式限定uft-8
#include <iostream>
#include <string>
#include <ostream>
#include <fstream>
#include <codecvt>
#include <locale>
#include <sstream>
#include <chrono>
using namespace std;// utf8格式string转wstring
static std::wstring stringtowstring(const std::string& input)
{std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;return converter.from_bytes(input);
}
// wstring转utf8格式string
static std::string wstringtostring(const std::wstring& input)
{//std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;return converter.to_bytes(input);
}// 获取当前时间戳
static int64_t C11GetTimeStamp()
{std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> tp = std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::system_clock::now());auto tmp = std::chrono::duration_cast<std::chrono::milliseconds>(tp.time_since_epoch());return tmp.count();}// 文本输出文件名
std::string fileName = "log.txt";// 输出打印
void LOG_DF(const std::wstring& mlog)
{// wstring转换函数string utf8 = wstringtostring(mlog);// 打印std::locale::global(std::locale("C"));std::cout << utf8 << std::endl;std::locale::global(std::locale(""));// 写入文件std::ofstream log_f(fileName, std::ios_base::app);log_f << utf8 << std::endl;log_f.close();
}// LOG_D接口
#define LOG_D(log) {\if(1){\std::wstringstream ss;\ss <<L"["<< C11GetTimeStamp() <<L"][] " <<log << L" [" << __FILE__ << L":"<<__LINE__ << L"]";\std::wstring wstr = ss.str();\LOG_DF(ss.str());\}\
}int main()
{#ifdef __linux__setlocale(LC_ALL, "");
#elsestd::system("chcp 65001");
#endifstd::locale::global(std::locale(""));int x = 40;float y = 6.0;wstring str = L"this a test";wstring addr = L"127.0.0.1:2368";//LOG_INFO(u8"这是一个测试,Это тест.これはテストです,this is a test,Die bezeichnungen für den diskurs. " + to_string(x) + to_string(y));LOG_D(L"这是一个测试,Это тест.これはテストです,this is a test, Das ist ein Test.\xCC\xCC\u00df\u6c34\U0001f34c" << x << y);LOG_D(L"演讲的名字。название лекции.スピーチの名前。The names for the discourse.Die bezeichnungen für den diskurs.\xCC\xCC\u00df\u6c34\U0001f34c" << x << y);LOG_D(L"演讲的名字。название лекции.スピーチの名前。The names for the discourse.Die bezeichnungen für den diskurs.\xCC\xCC\u00df\u6c34\U0001f34c" << str << addr);return 0;
}
打印输出:
[1,653,288,712,474][] 这是一个测试,Это тест.これはテストです,this is a test, Das ist ein Test.ÌÌß水
c++11 多国语言字符串处理相关推荐
- VMware Workstation 11.0.0多国语言(含简体中文)+永久激活密钥
2019独角兽企业重金招聘Python工程师标准>>> VMware Workstation 11.0.0多国语言(含简体中文)+永久激活密钥 (2014-12-03 08:2 ...
- python批量替换app多国语言翻译字符串
背景: 开发的APP需要导入多国语言,研发需要将翻译后的字符串复制到values下的stings.xml中,六国语言复制的工作量太大,一开始想着使用Excel的批量替换,百度了一下给office装了个 ...
- Android多国语言翻译 字符串目录详解
Android多国语言翻译 国际化 命名规则 values-[ 语言简称]-r[地区] 常用语言 values #默认语言 找不到对应语言就会使用这里 values-ar # 拉伯语 Arabic v ...
- WP7多国语言支持 from:http://blog.csdn.net/lee353086/article/details/6260676
WP7多国语言支持 Kagula 2011/3/17 前言 本文阅读对象是有一定Visual Studio 2010使用经验的程序员. 这里通过一些示例介绍如何让你的Windows Phone7 Wi ...
- 引擎设计跟踪(九.8) Gizmo helper实现与多国语言
最近把gizmo helper的绘制做好了. 1.为了复用代码,写了utility来创建sphere, cube, cylinder, plane, ring(line), circle(solid) ...
- android开发多国语言对照表
android开发,支持多国语言时,都是"语言-地区"简称不好记忆,此处网络收集来作为笔记参考. msm8x12\build\target\product\languages_fu ...
- 解析大型.NET ERP系统 多国语言实现
实现多国语言有许多种实现方案,无外乎是一种字符串替换技术,将界面控件的文本标签替换成相应语言的文字..NET Windows Forms实现多国语言的方法有以下几种: 1 .NET的方案,使用资源文件 ...
- c语言作业 字符串替换,C语言字符串替换。解决方法
当前位置:我的异常网» C语言 » C语言字符串替换.解决方法 C语言字符串替换.解决方法 www.myexceptions.net 网友分享于:2015-04-14 浏览:0次 C语言字符串替换 ...
- ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四
ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四 转自 http://www.cnblogs.com/think8848/archive/2011/07/05/2098464.ht ...
最新文章
- oracle10个,OracleDBA新手经常碰到的10个Oracle错误
- 用numpy做图像处理
- 如何获取微信API的Access Token
- 使用 Redis 如何实现延迟队列?
- windows批量上传文件到linux,windows上传文件到linux云服务器上
- 推荐!12个经典开源人脸识别数据库
- 不要上网更新计算机系统的补丁程序,360安全卫士更新补丁后系统不能联网怎么办...
- 前端JS获取内网IP地址
- 数字信号处理第二次试验:时域采样与频域采样
- 计算机本科科研什么项目,本科生做科研:大势所趋?
- c语言过磅系统,衡安无人值守地磅称重系统过磅流程
- 6种抗辐射的经典美食
- CSS阴影效果(Box-shadow)用法趣味讲解
- 英语中学生测试软件,中考英语口语测试软件.doc
- 极度调查:“变阵”中国移动
- mysql远程服务器返回错误404_服务器常见页面访问返回错误信息(404 500 400)表示什么意思...
- 英文版sketch如何转为中文版?sketch英文转为中文教程!
- 读论文《Natural Language Processing (Almost) from Scratch》
- 写c语言时鼠标变成黑色柱体
- 计算鬼成像学习笔记二:二阶关联函数探究
热门文章
- ECshop 页面修改及出错处理方法基础知识(第一部分)
- MySQL最最基础篇
- vue3实现H5监听浏览器回退并阻止回退
- UE5数字人毛发衣服的替换以及动画蓝图放在哪里
- 云计算中的边缘计算技术及其应用
- win8 关闭 打开文件的安全警告
- 第16届 IEEE 极限编程大赛 参赛记录
- 闲话腾讯QQ的异地登陆检测所存在的漏洞
- JSPSSM204旅游景点线路网站 java毕业设计源码含论文和答辩ppt
- anonymous implementation of android.content.DialogInterface$OnDismissListener