linux wchar t char,linux 下 Linux 下char转换为wchar_t
LInux下使用mbstowcs函数可以将char转化为wchar_t
函数含义:convert a multibyte string to a wide char string
说明: The behaviour of mbstowcs depends on the LC_CTYPE category of the current locale
返回值: The mbstowcs() function returns the number of wide characters that make up the converted part of the wide-char-acter string, not including the terminating null wide character. If an invalid multibyte sequence was encountered, (size_t) -1 is returned.
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespacestd;
10 //将char类型转化为wchar13 //locale: 环境变量的值,mbstowcs依赖此值来判断src的编码方式
11 int ToWchar(char* &src, wchar_t* &dest, const char *locale = "zh_CN.utf8"){18 if (src ==NULL) {19 dest =NULL;20 return 0;21 }
23 //根据环境变量设置locale
24 setlocale(LC_CTYPE, locale);
26 //得到转化为需要的宽字符大小
27 int w_size = mbstowcs(NULL, src, 0) + 1;
29 //w_size=0说明mbstowcs返回值为-1。即在运行过程中遇到了非法字符(很有可能使locale没有设置正确)
31 if (w_size == 0) {32 dest =NULL;33 return -1;34 }
36 wcout << "w_size" << w_size <
42 int ret = mbstowcs(dest, src, strlen(src)+1);43 if (ret <= 0)return -1;46 return 0;47 }
49 intmain(){51 char* str = "中国123";52 wchar_t *w_str ;53 ToWchar(str,w_str);54 wcout << w_str[0] << "--" << w_str[1] << "--" << w_str[2];55 delete(w_str);56 return 0;57 }
1 #include
2
3 int main(void){5 inti_number, result;6 floatf_number;7 char c_number, str[81];8 wchar_t wc_str, ws_str[81];
10 printf( "\n\nEnter an int, a float, two chars and two strings\n");
12 result = scanf( "%d %f %c %C %s %S",
&i_number, &f_number, &c_number, &wc_str, str, ws_str );13 printf( "\nThe number of fields input is %d\n",
result );14 printf( "The contents are: %d %f %c %C %s %S\n",
i_number, f_number, c_number, wc_str, str, ws_str);
16 wprintf( L"\n\nEnter an int, a float, two chars and two strings\n");
18 result = wscanf( L"%d %f %hc %lc %S %ls",
&i_number, &f_number, &c_number, &wc_str, str, ws_str );19 wprintf( L"\nThe number of fields input is %d\n",
result );20 wprintf( L"The contents are: %d %f %C %c %hs %s\n",
i_number, f_number, c_number, wc_str, str, ws_str);21 }
原文:http://www.cnblogs.com/wulangzhou/p/4538910.html
linux wchar t char,linux 下 Linux 下char转换为wchar_t相关推荐
- Linux环境下实现unsigned char*向string的转换
代码 unsigned char input_data[input_data_length] = {"This is my first encrypted plaintext hello w ...
- linux创建隐藏进程6,在Linux 2.6内核下实现进程隐藏
很早以前的小程序,比较简单但是觉得有趣 原理很简单,Linux查看进程的命令ps是通过系统调用sys_getdents实现,sys_getdents用户获取一个指定路径下的目录条目,实际上就是枚举 / ...
- linux i2c子系统看不懂啊,Linux 下的I2C子系统
Linux 下的I2C子系统 2013.7.16 本文分为两部分,一.设备模型 二.平台相关 . ================================================ 第一 ...
- 解决Windows下Arm下Linux下Qt4程序的中文乱码问题
解决Windows下Arm下Linux下Qt4程序的中文乱码问题 ################################################################### ...
- linux c++ 获取时间,详解Linux下的C++时间类型:time_t
Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00 ...
- linux 查看emmc分区表_Linux和Uboot下eMMC boot分区读写
关键词:eMMC boot.PARTITION_CONFIG.force_ro等. 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT.RPMB和UDA一般是默认存在的,gpp分区需 ...
- linux获取网卡协议地址,读取linux下的网络设备的mac地址与发送原始数据包 (2011-11-23 20:11)...
一:linux下的网络设备 linux的网络设备信息都在/proc/net/dev,从这里我们可以得到所有网卡的名字,如eth0, eth1等等 root@dlrc-desktop:/home/dlr ...
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Oops在Linux 2.6内核+PowerPC架构下的前世今生
Oops在Linux 2.6内核+PowerPC架构下的前世今生 Sailor_forever sailing_9806#163.com (本原创文章发表于Sailor_forever 的个人blo ...
- Linux内核及内核编程之五Linux下的C编程特点
3.5 Linux下的C编程特点 3.5.1 Linux编码风格 Linux有独特的编码风格,Linux程序的命名习惯和Windows程序的命名习惯及著名的匈牙利命名法有很大的不同.在Windows程 ...
- 【嵌入式环境下linux内核及驱动学习笔记-(16)linux总线、设备、驱动模型之input框架】
目录 1.Linux内核输入子系统概念导入 1.1 输入设备工作机制 1.2 运行框架 1.3 分层思想 2.驱动开发步骤 2.1 在init()或probe()函数中 2.2 在exit()或rem ...
最新文章
- 高小明的云平台搭建系列之一——物理机装 ESXi 5.0
- 深度学习NCHW和NHWC数据格式(由三维数据转换成一维数据的遍历方式)
- css 网页整体缩小_css实现缩放自适应网页--手机web
- 征集大家的网站如何防范DDOS攻击解决方案
- 【渝粤教育】广东开放大学 计算机硬件组装与维护 形成性考核 (38)
- 数学建模——matlab基本使用
- 【软件下载】Axure8.1正式版(含汉化包)
- 多道程序设计有哪些新特性呢?它又是如何实现程序的并发执行的呢?
- 图像直方图均衡 matlab,图像直方图均衡化
- android面试之怎么把图片变成圆形
- 常见14种手机传感器
- Java8 ,LocalDate,LocalDateTime处理日期和时间工具类,
- 用DirectX做2D游戏的三种方法
- 2023年消费电子行业研究报告
- xp系统计算机语言设置,XP系统语言栏不见了解决方法
- 线性代数 --- 投影Projection 六(向量在子空间上的投影)
- linux命令如何查询某个线程,linux如何查看线程信息命令是什么
- 网络工程师【软考】01
- python编程输入名字配对情侣网名_定制情侣网名输入自己名字情侣
- 曲刚快步英语发音规则对没有英语基础的人有救吗?
热门文章
- STM32串口第一个字节丢失问题的分析过程
- 从源码分析DEARGUI之add_tree_node
- virtualbox+vagrant学习-2(command cli)-16-vagrant snapshot命令
- oracle中max,listagg使用,需求:求门诊开甲功三项的病人的基本信息与化验结果的数据,...
- Scala花括号和圆括号的区别
- Mysql ERROR 145 (HY000)
- 使用SQL如何把用逗号等字符隔开的字符串转换成列表,以及把列合并成符合隔开的字符串(转)...
- 【c语言】模拟库函数strstr
- UVA 1471 Defense Lines 防线 (LIS变形)
- CentOS下LAMP实战与心得