解决CLion中system()函数调试时终端乱码问题

最近在CLion中使用**system(“cls”)和system(“pause”)**时发现运行输出时总存在执行错乱,乱码的问题,问题情况如下

问题1

代码执行混乱,不知道它在干什么!
在这里插入图片描述

问题2:

调试时system(“pause”)和system(”cls")出现乱码,其中“pause”乱码可以通过在main函数下添加system(“chcp 65001”);解决,但system(“cls”)无法解决,网上找了一堆也没有能解决的有效方法。
在这里插入图片描述

解决方案:

方案一(能解决运行但不调试的情况,调试时仍会出现代码,优点:还是使用CLion内置运行界面看着方便,不需要开一个外部终端,如果不调试使用这个即可)

1.使用powershell或cmd终端通过g++指令手动编译运行(这种方法调试应该也可以(有兴趣的可以尝试一下),但我不太习惯,还是有界面的调试看着舒服)

在这里插入图片描述

2.使用模拟终端

1.选择运行界面左上角的三个点
在这里插入图片描述
2.选择**Modify Run configutation** 在这里插入图片描述
3.勾选Emulate terminal in the output console,然后选择ok保存即可
在这里插入图片描述

方案二 (打开外部控制台,跟vs一样,完美解决问题,缺点:看着不方便)

步骤跟方案一第二种差不多,就是最后选择的是Run in external console
在这里插入图片描述
如果不出意外的话,应该可以成功打开了一个外部终端
在这里插入图片描述

总结:system()函数并不是一个安全函数,尽量别用,原因可以看这个链接Why system() is evil,system(“pause”)可以使用cout.get()代替,system(“cls”)展示找不到能用的代替的,如果哪个兄弟姐妹知道可以在评论区留言,万分感谢!总的来说CLion我还是很喜欢的,虽然在有点小瑕疵,但瑕不掩瑜,这个打开外部终端平时又能使用几次呢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值