c语言基础——04宽字符本地化

c语言的本地化实现 说明:这篇文章并不是本人的原作,是本人在网上看到的一篇PDF,然后整理来的,原作者叫李东东(中标普华) /******************************************************** 在linux系统下,以c语言程序为例来实现程序的国际化,即让程序根据Linux系统不同的语言环境 的不同来显示出对应该语言的文字,即先让c程序支持国际化然后再进行本地化翻译。 阅读详情
#include<iostream>
#include<stdlib.h>

void main(){
    wchar_t* p1 = L"123456";
    std::cout << p1 << std::endl;
    wchar_t* p2 = L"你好世界123455";
    std::cout << p2 << std::endl;
    system("pause");
}

上述程序控制台输出结果为:

123456
请按任意键继续. . .

为了解决上述问题,采用以下解决方案:

#include<iostream>
#include<stdlib.h>
#include<locale>

void main(){
    setlocale(LC_ALL,"chs");
    wchar_t* p1 = L"123456";
    std::cout << p1 << std::endl;
    wchar_t* p2 = L"你好世界,123456";
    std::cout << p2 << std::endl;
    system("pause");
}

控制台运行结果:

123456
你好世界,123456
请按任意键继续. . .

C型本地化 clocale(locale.h) 编写适应性强的程序,比如程序运行在美国的电脑,操作习惯是美国人的,运行在欧洲电脑上,就是欧洲人的,这种问题,其实在更早,大约当时的15年前就已经有有效果的解决方法。就是环境变量。在C语言中要读取到一个环境变量的值,可以用中定义的函数getenv。其实,区域设置本质上也就是这个问题,将货币处理设置相应的环境变量,数字,字符等,都设置上相应的环境变量,按照需要,总共应该有将近二十个环境变量,一一设置好 阅读详情

相关推荐

wprintf输出中文

浅析 Linux 的国际化与本地化机制 http://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/index.html?ca=drs- 如何获得当前系统的locale呢?包括windows和UNIX http://bbs.chinaunix.net/viewthread.php?tid=1752378 http://search.cpan.org/~sburke/Win32-Locale-0.04/Locale.pm   use Win32:

xu的blog 9195

Linux下C语言的本地化/国际化实现

在linux系统下,以c语言程序为例来实现程序的国际化,即让程序根据Linux系统不同的语言环境的不同来显示出对应该语言的文字,即先让c程序支持国际化然后再进行本地化翻译。 Linux上实现这个过程需要用到xgettext和msgfmt这两个工具。 Xgettext 是国际化的工具,用来提取程序中的字符串,生成*.po或是*.pot的文件, msgfmt是本地化的工具,用来编译翻译后的.po

乌托邦 4437

第八章 MobileNetv3网络详解

本文介绍了基于互补的搜索技术和新颖的架构设计的MobileNets的下一代。MobileNetV3通过硬件感知网络架构搜索(NAS)和NetAdapt算法相结合,针对移动电话CPU进行优化,随后通过新颖的架构改进技术进行了进一步提高。本文开始探索自动化搜索算法和网络设计如何相互协作,以利用互补的方法改进整体技术水平。通过此过程,我们创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用情况。

ADICDFHL的博客 1万+

20160222.CCPP体系详解(0032天)

程序片段(01):宽字符.c+字符串与内存四区.c 内容概要:宽窄字符///宽字符.c #include <stdio.h> #include <stdlib.h> #include <locale.h>//01.宽字符的应用: // 1.宽字符用于国际化: // Unicode编码情况之下,需要启用宽字符编程 // 2.中文的高级处理: // 必须依赖于宽字符 // 3

俱怀逸田壮思飞 509

SiamFC++笔记

SiamFC++: Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines 文章根据这些思路:引入分类和目标状态估计分支(G1),无歧义的分类得分(G2),无先验知识的跟踪(G3)和评估质量得分(G4)来设计SiamFC ++。 SiamRPN ++和SiamFC ++的比较(红色部分代表得分高的区域): guide: G1 : 分类和状态估计任务的分离:分类任务将目标从干扰物和背景中分类出来,目标状态

木木JL的博客 9431

CUDA 12.1环境下的动态库链接修复:从libcusparse.so.12的undefined symbol错误到libnvJitLink.so.12的正确加载

本文详细解析了在CUDA 12.1环境下,PyTorch因libcusparse.so.12找不到libnvJitLink.so.12中的__nvJitLinkAddData_12_1符号而报错的根本原因。通过诊断动态链接过程,提供了创建符号链接、修改环境变量等三种解决方案,并深入探讨了nvJitLink组件的作用及环境配置的最佳实践,帮助开发者彻底解决此类动态库链接问题。

c8d9e0f1的博客 204

2021-04-02

C89 15个 <assert.h> <locale.h> <stddef.h> <ctype.h> <math.h> <stdio.h> <errno.h> <setjmp.h> <stdlib.h>

ljwdxh的博客 53

麒麟OS恢复出厂设置原理与实操:非重装的系统状态回滚

Linux操作系统中的‘恢复出厂设置’并非简单重装或镜像还原,而是一种基于状态快照、包管理与配置模板的可控回滚机制。其核心原理依赖LVM快照技术、RPM包签名验证和预置配置模板,兼顾系统稳定性与用户数据安全。该方案在政务、教育等国产化场景中具有显著技术价值——不格式化硬盘、不丢失/home文档、不重配驱动与授权,大幅降低运维复杂度。典型应用场景包括系统卡顿修复、软件冲突清理、桌面环境异常恢复等。本文深入解析银河麒麟V10的kylin-restore-cli工具链与麒麟管家集成逻辑,聚焦‘恢复出厂设置’这一高

weixin_30879169的博客 770

char与wchar

由于 wchar_t 类型涉及到多字节编码,可以使用宽字符输出函数来打印 wchar_t 类型的字符,例如 wprintf 或 putwchar。于 wchar_t 类型的字符,在打印之前需要调用 setlocale 函数来设置本地化环境,以确保宽字符输出函数能够正常工作。

weixin_38849487的博客 548

Python 爬虫实战:亚马逊 + eBay 商品信息跨平台抓取(价格 / 销量 / 评价对比)

亚马逊和 eBay 是全球知名的电商平台,拥有海量的商品信息。对于消费者来说,比较不同平台上的商品价格、销量和用户评价可以帮助他们找到性价比最高的商品。对于商家而言,了解竞争对手的商品信息有助于优化自身的产品策略和定价策略。然而,手动在两个平台上逐一比较商品信息是非常耗时且低效的。因此,开发一个能够自动抓取并对比这两个平台商品信息的爬虫工具具有重要的实际意义。

yansideyucsdn的博客 615

海思3516DV300智能算法实现

海思3516DV300智能算法实现

xiaoning132的专栏 935

使用C语言完成实现贪吃蛇小游戏(超详细完整版)

贪吃蛇是一款非常经典的小游戏,这次的游戏实现是使用C语言在Windows环境的控制台中模拟实现的。贪吃蛇地图绘制蛇吃食物的功能(通过上下左右方向键控制蛇的动作)蛇撞墙死亡蛇撞自身死亡计算得分蛇身加速,减速暂停游戏退出游戏2.需掌握的技术要点C语言函数,枚举,结构体,动态内存管理,预处理命令,单链表,win32API等。

m0_73946129的博客 2709

AutoSAR配置与实践(实践篇)11.1 如何通过IPDU分组控制报文收发

注意这个新增的action其实是一个用户回调函数,在函数中进行配置字的判断,即可完成用户条件的判断(TRUE/FALSE),注意用户条件是用户封装的函数,用于输入给后续的逻辑判断和rule。进行PDU的拆分后,根据配置字可以选择PDU是否使能了。PDU组拆分后可分为常规PDU组和可配PDU组(新增),诊断一方面按原有逻辑控制常规PDU组,另一方面控制新的可配PDU组。举例说明,诊断场景:使能,配置字满足,则用户条件为TURE,表示期望使能可配PDU组(诊断禁止服务场景类似方式,在此不再列举)。

nihaoljq2010的博客 833

20160222.CCPP体系具体解释(0032天)

程序片段(01):宽字符.c+字符串与内存四区.c 内容概要:宽窄字符 ///宽字符.c #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; //01.宽字符的应用: // 1....

weixin_33739523的博客 149

Open3D 使用RANSAC分割平面【2026最新版】

使用RANSAC从点云中分割平面,用segement_plane函数。博客长期更新,本文最新更新时间为:2026年2月28日。

点云侠的博客 37万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

16.贪吃蛇——游戏的核心逻辑与准备工作

在梳理完前置知识之后,就可以正式进入贪吃蛇游戏的设计了,本篇博客梳理游戏的核心逻辑与开始写代码之前的准备工作。

E_han的博客 704

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

本地化AI文本Unicode隐写扫描器:隐私安全与工程实践

在AI生成内容日益普及的背景下,文本隐写与数字水印技术正成为内容溯源和安全验证的关键领域。其核心原理是利用Unicode标准中的控制字符、零宽字符等不可见元素,在文本中嵌入版权标识、追踪信息甚至恶意指令。这项技术的价值在于为AI生成内容提供可验证的归属证明和防篡改机制,但也带来了数据泄露和隐蔽信道等安全风险。应用场景广泛覆盖企业法务、学术出版、内容平台和安全团队,用于验证原创性、防止数据泄露和检测恶意注入。本文聚焦于**Unicode控制字符**和**零宽字符**这两类常见隐写载体,介绍如何构建一个本地优先

weixin_33749131的博客 425

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C语言实战 -- 经典贪吃蛇游戏(含完整源码)

贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。在编程语⾔的教学中,我们经常以贪吃蛇为例,从设计到代码实现来提升学⽣的编程能⼒和逻辑能⼒。本次实现贪吃蛇会使⽤到的⼀些Win32 API知识,接下来我进行介绍。

2301_77900444的博客 1764

从C到QT:printf家族函数全解析(含sprintf、asprintf与QString::arg实战)

本文全面解析了从C语言的printf家族函数(包括printf、sprintf和asprintf)到Qt的QString::arg方法的字符串格式化技术。通过对比分析C风格与Qt风格的优缺点,结合实战示例展示如何在Qt开发中安全高效地处理字符串格式化,特别强调了QString::arg的类型安全性和可读性优势。

2y3u4i5o6p的博客 913

用单片机c语言编写年月日,51单片机C语言编程模版

51单片机C语言编程模版(1)本部分设定了隐藏,您已回复过了,以下是隐藏的内容单片机C语言编程模板(基础模板)[程序开始处的程序说明]/*********************************************************************************************/程序名:编写人:编写时间:  年 月 日硬件支持:接口说明:/*******...

weixin_39739395的博客 728

isgraph函数(c库函数)

本文详细介绍了C库函数isgraph的功能与用法。该函数用于检测字符是否是可打印的非空格字符,其原型为int isgraph(int c),参数需转换为unsigned char类型或EOF。在ASCII环境下,可打印字符范围为0x21-0x7E(包括数字、字母及标点符号)。文章阐述了函数的实现原理、标准遵循情况,并提供了典型使用示例。特别强调了注意事项:不可直接传递char类型、性能优化建议,以及在宽字符等场景下的局限性。还介绍了相关函数isprint、isspace等的区别,以及该函数在数据清洗、词法分

一叶之秋的博客 410

Ubuntu 24.04安装配置CLion:打造高效C++跨平台开发环境

集成开发环境(IDE)是现代软件开发的核心工具,它通过集成代码编辑、编译、调试等功能,极大提升了开发效率。在C++开发领域,跨平台支持是关键需求,这要求IDE不仅能提供智能代码补全和重构,还需深度集成CMake等构建系统,并兼容不同操作系统的工具链。JetBrains CLion作为一款智能C++ IDE,其价值在于通过精准的代码分析和强大的调试器,显著降低了C++开发的心智负担,尤其适合需要兼顾Windows、Linux和macOS的项目。在Ubuntu 24.04 LTS这一稳定的Linux发行版上配置

weixin_30855099的博客 371

本地AI文本隐藏字符扫描工具:原理、部署与应用实践

在数字内容安全领域,Unicode字符集不仅承载了全球文字的编码标准,其包含的零宽字符、控制字符等特殊码位,也为信息隐藏提供了技术基础。这些不可见字符可被嵌入文本,用于版权追踪、来源标识或作为水印,其原理在于利用Unicode标准中不影响文本渲染的预留位置。从技术价值看,检测此类隐藏信息对于内容审计、数据清洗和安全分析至关重要,尤其在AI生成内容普及的背景下,能有效识别潜在的数据泄露途径和恶意标记。应用场景广泛覆盖安全研究、内容风控和合规检查,例如分析可疑文本中的零宽字符序列,或验证AI生成内容的纯净度。本

369
上一篇: c语言基础——03浮点数精度及打印
下一篇: c语言基础——05宽字符字符集问题
YSF2017_3
博客等级 码龄10年 42粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值