VS code可以输入中文,但是输出不了中文

VS code可以输入中文,但是输出不了中文

vscode用printf可以直接输出中文,但是用scanf从控制台接收中文写入后,再用printf输出会乱码掉或者直接就不显示


int main()
{
    printf("请输入一个名字\n");
    char p[20] = { 0 };
 
    scanf("%s", p);
    printf("%s", p);
    return 0;

在这里插入图片描述

经过网上各种方法的尝试确定为UTF-8编码的问题,即使在控制台和vscode都是UTF-8编码的情况下,仍然会出现上述情况。

方法

1 修改控制台(也就是系统的cmd)的编码方式,在设置里找到“时间和语言”

在这里插入图片描述
选择“语言”
在这里插入图片描述
找到右侧的相关设置中的“管理语言设置”
在这里插入图片描述
点击选择更改系统区域设置
在这里插入图片描述
如果有勾选Beta版,改为不勾选,然后选择重启
在这里插入图片描述

重启后,“win”+“r”,在运行框里输入cmd
在这里插入图片描述
点击确定,生成控制台界面,在界面的边框右击
在这里插入图片描述
选择属性,可以看到当前编码被改成了936 GBK
在这里插入图片描述

2 修改vs code的编码方式,点击文件,选择高级保存选项

关于如何找到高级保存选项,可以参考一下链接

链接: https://blog.csdn.net/weixin_56166431/article/details/128269676

或者自行百度
在这里插入图片描述
编码选择936 GB2312
在这里插入图片描述

3 这样一来,控制台和vscode的编码方式就一致了,就可以写入并输出中文了。

在这里插入图片描述

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
具有高分辨率PWM和CAN灵活数据(CAN FD)的28/36/48/64/80引脚16位数字信号控制器 工作条件 • 3.0V至3.6V, -40°C至+125°C, DC至100 MIPS 内核: 16位dsPIC33CK CPU • 32-256 KB的程序闪存(包含ECC)和8-24 KB RAM • 快速的6周期除法 • 在线更新 • 高效代码型(C和汇编)架构 • 40位宽累加器 • 带双数据取操作的单周期(MAC/MPY) • 单周期混合符号乘法和硬件除法 • 32位乘法支持 • 用于快速中断处理的4组中断现场保护寄存器,包括 累加器和状态寄存器 • 零开销循环 • RAM存储器内置自检(Memory Built-In Self-Test, MBIST) 时钟管理 • 内部振荡器 • 可编程PLL和振荡器时钟源 • 参考时钟输出 • 故障保护时钟监视器(Fail-Safe Clock Monitor, FSCM) • 快速唤醒和启动 • 备用内部振荡器 功耗管理 • 低功耗管理模式(休眠、空闲和打盹) • 集成上电复位和欠压复位 高速PWM • 8个PWM对 • 最佳PWM分辨率为250 ps • 上升沿和下降沿死区 • 死区补偿 • 用于高频操作的时钟斩波 • 为以下各种应用提供PWM支持: - 直流/直流、交流/直流、逆变器、 PFC和照明 - BLDC、 PMSM、 ACIM和SRM电机 • 故障输入和限流输入 • 用于实现ADC触发的灵活触发配置 定时器/输出比较/输入捕捉 • 1个通用定时器 • 外设触发信号发生器(Peripheral Trigger Generator, PTG) - 为其他外设模块提供最多15个触发源 - 基于与CPU无关的状态机的指令定序器 • 9个MCCP/SCCP模块,包括定时器、捕捉/比较和 PWM: - 1个MCCP - 8个SCCP - 16位或32位时基 - 16位或32位捕捉 - 4级深度捕捉缓冲区 • 全异步操作,可在休眠模式下工作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值