问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言编程关于L“”,Unicode和多字节字符集,该如何填写

发布网友 发布时间:2022-05-06 10:50

我来回答

1个回答

热心网友 时间:2022-06-29 19:48

Unicode或者宽字符都没有改变char数据型态在C中的含义。char继续表示1个字节的储存空间,sizeof (char)继续返回1。理论上,C中1个字节可比8位长,但对我们大多数人来说,1个字节(也就是1个char)是8位宽。

C中的宽字符基于wchar_t数据型态,它在几个表头文件包括WCHAR.H中都有定义,像这样:

typedef unsigned short wchar_t ;

因此,wchar_t数据型态与无符号短整数型态相同,都是16位宽。

要定义包含一个宽字符的变量,可使用下面的语句:

wchar_t c = 'A' ;

变量c是一个双字节值0x0041,是Unicode表示的字母A。(然而,因为Intel微处理器从最小的字节开始储存多字节数值,该字节实际上是以0x41、0x00的顺序保存在内存中。如果检查Unicode文字的计算机储存应注意这一点。)

您还可定义指向宽字符串的指针:

wchar_t * p = L"Hello!" ;

注意紧接在第一个引号前面的大写字母L(代表「long」)。这将告诉编译器该字符串按宽字符保存-即每个字符占用2个字节。通常,指针变量p要占用4个字节,而字符串变量需要14个字节-每个字符需要2个字节,末尾的0还需要2个字节。

同样,您还可以用下面的语句定义宽字符数组:

static wchar_t a[] = L"Hello!" ;

该字符串也需要14个字节的储存空间,sizeof (a) 将返回14。索引数组a可得到单独的字符。a[1] 的值是宽字符「e」,或者0x0065。

虽然看上去更像一个印刷符号,但第一个引号前面的L非常重要,并且在两个符号之间必须没有空格。只有带有L,编译器才知道您需要将字符串存为每个字符2字节。稍后,当我们看到使用宽字符串而不是变量定义时,您还会遇到第一个引号前面的L。幸运的是,如果忘记了包含L,C编译器通常会给提出警告或错误信息。

您还可在单个字符文字前面使用L前缀,来表示它们应解释为宽字符。如下所示:

wchar_t c = L'A' ;

但通常这是不必要的,C编译器会对该字符进行扩充,使它成为宽字符。追问我这里是想用二维数组存储的值做参数,如果buff[1]存的是“abcde”的话。 如果写L“buff[1]”的话,参数是“buff[1]”。我实际想传的参数为“abcde”。
这样的话该怎么去写?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机壁纸花卉红色手机壁纸花卉 辽宁智能五芯防水连接器 军工产品浅谈——航空插头 xp电脑系统修复XP系统怎么恢复出厂设置 ...表编辑器后打不开任何文件,无需重装系统,电脑盲都能用 粼基本信息 粼五笔怎样打? 【微科普】想变成光?先搞清楚光是什么吧! 手机被拉黑后打电话是什么提示? 物流管理专业对数学的要求高么 c语言中关于字符串长度的问题 C语言我malloc后输入一定数量的字符串结果出错为什么? C语言的多字节字符(multibyte characters)是什么 “一个串的字符个数即该串的长度”对吗 智联招聘管理培训生待遇怎么样? R 无效的多字节字符串包装过程中的错误怎么解决! 麦德龙的管理培训生怎么样啊?谁去面试过呢、待遇,前景怎么样呢? 请问zara的管理培训生待遇多少?怎么样啊?发展 顺丰速运的财务管理培训生待遇怎么样?我收到了Offer,但是好像要先在基层做一年左右才可能升职。我是本科 联合利华管理培训生待遇问题 今天刚去应聘了北京物美集团管理培训生,待遇如何?谁给指点一下。值得为这个职位放弃一家外企offer吗? 小米电视产品型号L43IM5一Es多少钱? 管理培训生怎么样啊?是做销售的 我本科毕业,收到顺丰速递北京区营运部管理培训生的OFFER,但是不知道这个岗位待遇到底如何,前途怎样 培训生的待遇问题 怎样购买小米电视?哪个型号较适用?价格多少? 一般企业的管理培训生在培训期间有没有工资?或者其他待遇 小米电视机价格表65寸电视屏幕多少钱? i7二代主板最高支持i7几代 第二代i3 i5 i7针脚1155配什么主板 出现字符串变量对字串来说不够长请检查字符串定义是什么原因 C语言:若字符串读入过程中发生错误或遇到文件结束,则表示输入结束、这一句话怎么实现? C语言写的合并字符串 出现如下错误后面多了乱码求指教 需要给工人买保险,想问下投保团体健康险需要注意哪些? sizeof strlen 的一个问题 企业投保团体意外险需要注意哪些问题 c语言中字符串“asdfgh”包含了几个字符,占几个字节,“\0”算了个字节还是算一个字符 保险公司银保团险销售队伍建设 c语言输出字符串数组出现乱码 保险销售管理中如何看待队伍建设问题 有团险还需要再购买保险吗? 移动花卡宝藏版定向流量是什么意思? 华润置地有限公司如何?主要从事什么业务? 华润雪花啤酒(山东)有限公司 济南办事处的联系电话、电子邮箱、现办公的详细地址 户外休闲椅的椅子腿都是什么材质做的?听说有什么铸铝啊、铸铁啊什么的!我都不知道是什么东西,求解! 公园椅有什么材质的,在哪比较常见 电脑椅是买尼龙脚的好吗 还是钢制脚 还是铝合金脚好 我家是木地板 办公椅的五星脚,用什么材质的好? 家用椅子和餐桌,是做金属脚好呢,还是实木好? 这个椅子腿断了,请问这个是什么材质,用什么方式修复最结实,断口用哪种胶粘合最好?或者有其他处理办法