记录一次C语言输入/输出单个汉字字符的学习总结

C语言中char占用8个字节,而单个汉字占用16个字节,这导致在输入输出上会有些许错误。。。

利用wchar_t可以储存汉字到一块空间里而不是像char需要两块空间

注: 在输出前需要将环境转换为中文,在代码前加入 setlocale(LC_ALL, "");

(包含在头文件locale.h)

输入:wprintf(L"%ls", s);

输出:wprintf(L"%ls", s);

如果需要输出单个汉字,同理使用 wprintf(L"%lc", message);

实例:

include<stdio.h>
include<locale.h>

int main(char argv, char* args){
    setlocale(LC_ALL, "");
    wchar_t s[256];
    wscanf(L"%ls", s);    //输入
    wprintf(L"%lc", s[2]);    //输出
    return 0;
}
    

结果:

IN:你好世界!

OUT:世

(第一次写文章,如果哪里手抖写错了还请包涵😂)

  • 8
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值