linux下的wchar_t_linux 下面wchar_t_会飞的幸运儿的博客-程序员秘密

技术标签: 编程基础  linux  wchar_t  

1. 默认情况下,windows 下的 wchar_t 占两个字节的长度,而 linux 下的 wchar_t 占四个字节的长度,可以在使用 gcc 编译程序的时候再后面跟上 -fshort-wchar 来解决这个问题。

2. linux 下 wchar_t* 字符串的输出问题 —— 没有解决。

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
void main()
{
	char *sc= "short characters";
	wchar_t *wc= L"wider characters";

	printf("%s are more universally useful than %s, ",wc,sc);
	printf("but they do use more space(%d as opposed to %d bytes).\n",
		     wcslen(wc)*sizeof(wchar_t),strlen(sc));
	printf("the wchart size:%d\n",sizeof(wchar_t));
	printf("the wc len:%d\n",wcslen(wc));
	exit(0);	
}

没有加- fshort-wchar情况下的运行结果:

wider characters are more universally useful than short characters, but they do use more space(64 as opposed to 16 bytes).
the wchart size:4
the wc len:16

添加-fshort-wchar编译选项后,运行结果:

but they do use more space(16 as opposed to 16 bytes).
the wchart size:2
the wc len:8

3.如下程序,可输出宽字符,但是如果加上 -fshort-wchar 编译选项,则输出为乱码。

void print_wcs( const wchar_t *text )  
{  
    int         len = 0;  
    int      i   = 0;  
    wchar_t  *p  = NULL;  
      
    if( NULL == text )  
        return;  
      
    p = text;  
    while( *p != L'\0' )  
        printf( "%lc", *p++ );  
}  

主程序添加如下代码:

printf("==========\n");

print_wcs(wc);

在添加-fshort-wchar之后的运行结果:

but they do use more space(16 as opposed to 16 bytes).
the wchart size:2
the wc len:8
==========
wider characters

ok,应该能说明问题。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wgwgnihao/article/details/46765003

智能推荐

easyui java管理系统_EasyUI 后台管理系统_kid22333的博客-程序员秘密

ASP&amp;period;NET MVC5&amp;plus;EF6&amp;plus;EasyUI 后台管理系统(1)-前言与目录(持续更新中&amp;period;&amp;period;&amp;period;)开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997价格 666RMB 升级后界面效果如下: 任务调...

maven_flowlh的博客-程序员秘密

本地资源库:是用来储存项目的依赖库,默认文件夹是.m2文件夹。中央资源库:是maven用来下载所有项目的依赖库的默认位置。如何从maven远程库下载?如何添加远程库?:安装文件里可以设置默认本地资源库。maven依赖机制:1,传统方式:访问 http://logging.apache.org/log4j/ 下载 Log4 j的 jar 库 复制 jar 到项目类路径 手动...

Head first PHP & MySQL 中文版pdf_headfirst php&mysql电子版_qq_38460035的博客-程序员秘密

链接:https://pan.baidu.com/s/1Oq528-p7TUDx-hoPsYS3lg 密码:6qiv 本书为完整版,以下为内容截图: 

Graph Attention Network_上杉绘梨衣-的博客-程序员秘密

【新智元导读】Yoshua Bengio 团队日前提出了一种名叫图谱注意力网络(Graph Attention Network,GAT)的新型神经网络架构,探讨将图谱(Graph)作为输入的情况下如何用深度学习完成分类、预测等问题,相关论文已经提交ICLR-18审核。作者邓侃认为,图(Graph)作为一种表达方式,能够表达很多知识,Bengio研究组的这篇论文虽然尚未在业界引发巨大反响,但其结

SpringBoot编程思想 读书笔记 -- SpringApplication_morningcat2018的博客-程序员秘密

SpringBoot编程思想 读书笔记 -- SpringApplication1. SpringApplication 初始化阶段1.1 SpringApplication 构造阶段1.2 SpringApplication 配置阶段2. SpringApplication 运行阶段2.1 SpringApplication 准备阶段2.2 Spring 应用上下文启动阶段2.3 Spring...

pd.concat() 实现数据拼接_pd拼接_北木.的博客-程序员秘密

源于: 执行类代码 – ExcelExtractionClass.py – 函数contact_excel pandas.concat( objs, axis=0, join='outer', join_axes=None, ignore_index=Fa...

随便推点

移动端游戏UI设计-二部曲-姜雪伟-专题视频课程_海洋_的博客-程序员秘密

主要实现了移动端游戏的UI架构设计,分两部分,第一部分采用的是有限状态机,第二部分采用传统的模式架构设计。

【STM32H7教程】第5章 STM32H7下载和调试方法(MDK5)_硬汉嵌入式的博客-程序员秘密

完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&amp;tid=86980第5章 STM32H7下载和调试方法(MDK5)本章教程为大家介绍如何通过MDK5下载程序到芯片里面以及MDK5的调试和配置方法。目录第5章 STM32H7下载和调试方法(MDK5)5.1 初学者重要提示5.2 使用M...

使用Arduino+MPU6050传感器DIY倾角仪_arduino mpu6050_woshi_ziyu的博客-程序员秘密

MPU6050集成了一个3轴加速度计和3轴陀螺仪。它还内置温度传感器和DCM来执行复杂的任务。 MPU6050通常用于建造无人机和其他远程机器人,如自平衡机器人。在这个项目中,我们将学习如何使用MPU6050构建倾角仪或者Spirit Leveller。正如我们所知,倾角仪用于检查表面是否完美平整,它们可以作为sprit bubbl表面或数字仪表。在这个项目中,我们将建立一个数字倾角仪,可以使用A...

wpf-oxyplot-坐标轴标签只显示一部分(超过5k不显示)_oxyplot wpf_陆沙的博客-程序员秘密

问题描述绘图数据中,x的取值范围大概是0~20k,但是x轴只显示到5000,后面就不再显示了。如上图所示,AreaSeries还是继续绘制的,但是x轴的label大于5000就不显示了。labelFormatter是这么写的,可以看出只到5000LabelFormatter = delegate(double x) { if (x &gt; 5000) { return "$"; } if (x == 0) { return "0";

Java使用itextpdf生成PDF文件_培根芝士的博客-程序员秘密

iText是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF文档,而且可以将Html文件转化为PDF文件。

jquery-min.js /jquery-1.8.3.min.js引入后报错_小屁孩_P的博客-程序员秘密

项目中加入jquery-min.js /jquery-1.8.3.min.js文件后,就报红叉叉,看着就讨厌,原来项目就是用的这个文件都OK的。这样执行以下吧:报错的文件--右键---myeclipse---exclude From Validation ,这样执行以下报错就没有了。

推荐文章

热门文章

相关标签