C语言中的宽字符

本文探讨了C语言中字符编码的不同处理方式,包括ASCII码和UTF-16。通过示例展示了charstr1和wchar_tstr2在存储中文字符时的差异,解释了每个字符串的字节数和结束标志。同时,列举了一些常用的处理多字节和宽字符的函数,如printf、wprintf、strlen和wcslen等,帮助读者理解不同字符类型在内存和处理上的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如:

char str1[] = "中国";
wchar_t str2[] = L"中国"; 

在第一行代码中,str1中存的内容是ASCII码,因为是中文,所以是GB2312,也就是每个字存了两个字节,最后以‘00’结尾,所以str1存放的是五个字节。

在第二行代码中,str2中存的内容是UTF-16,也是一个字存了两个字节,但结尾要以两个‘00’,所以str2存放的是六个字节。

常用函数(第二个为宽字符):

char    wchar_t  //多字节字符类型  宽字符类型

printf   wprintf   //打印到控制台函数

strlen   wcslen  //获取长度

strcpy  wcscpy  //字符串复制

strcat   wcscat   //字符串拼接

strcmp  wcscmp  //字符串比较

strstr     wcsstr   //字符串查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值