devc++ 的一些乱码、bzero函数问题

在使用devc++编程时,遇到外部控制台汉字显示乱码,通过添加命令-fexec-charset=GBK可以解决。对于VSCode,需修改launch.json和tasks.json文件以启用外部控制台并避免乱码。另外,调用bzero函数报错可能是因为其已非标准库函数,可以改用memset函数替代,包含<string.h>头文件。
摘要由CSDN通过智能技术生成

问题1、使用devc++编程时,外部控制台的汉字出现乱码

如图所示:

 解决方法:

命令:-fexec-charset=gbk

即可解决控制台的乱码问题。

其实,类似的问题也出现在vscode上(vscode仅仅只是编辑软件,需要配置相应的环境和json文件,才可正常编译源代码)

问题:当我们想要调用外部控制台,如何设置?

第一步:将launch.json文件的"externalConsole" :false(默认) ---->true

 第二步:在tasks.json文件同样添加:"-fexec-charset=GBK"。同样能达到相应的效果。

               我这里绿色的框,是指编译过程需要编译链接自定义的源文件,需要在tasks.json文件添加该源文件名(不然main文件找不到自定义函数)-------这也是我使用vscode过程遇到的小小问题。

最终效果如下:

 

问题2、在使用devc++时,调用bzero函数,会出现报错。

理论上,调用bzero函数时,只需引入#include<string.h>头文件。

实际上,devc++仍会报错。

网上查阅资料,可能是bzero 函数已经不属于标准库,现已被弃用。解决方法:可以调用同类型作用的memset函数。(亲测有效)

头文件:
#include <string.h>

函数原型:
void*menset(void *s, int c, unsigned long n)
作用:将某一块内存中(一般是新申请的数组/结构体)的内容进行指定值的初始化。

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值