CLion 编辑器的各种问题【转载】

Clion设置编译器MinGW、Clion设置字体大小、Clion设置tab进四格、解决CLion输出中文乱码、解决CLion输入EOF且输出中断、错误:cannot open output file

CLion 是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的。

对于习惯了使用IDEA和pycharm的朋友来说,CLion非常容易上手。

笔者使用CLion,用了一段时间MinGW编译器的感受:

Clion中可以使用编译器MinGW,但是在默认情况下ctrl+shift+a打开搜索框,搜索Registry,默认勾选了run.processes.with.pty这项,这会导致输入数据时,每当数据输入完成后,在运行框中总是会把输入的数据给默认打印出来一遍,而且还会导致无法输入EOF来终止输入(如果程序是这么写输入判断结束的),这样程序无法再向后运行。

如:

如果我们取消勾选run.processes.with.pty这项(ctrl+shift+a打开搜索框,搜索Registry,注意从这里取消勾选只是这一次生效,冲重新打开Clion后要再取消勾选),那么输入数据后不会再打印,也可以输入EOF来终止输入,但是运行时会有另一个问题:即scanf的输入语句前的printf输出语句在实际运行时,会在scanf运行之后才运行。

如:


 
 
  1. 7 5 3 2 1
  2. ^D
  3. Please input the numbers:
  4. 1 7 5 3 2
  5. 1 2 7 5 3
  6. 1 2 3 7 5
  7. 1 2 3 5 7
  8. print the sorted number
  9. 1 2 3 5 7
  10. Process finished with exit code 0

实际上在写的C程序中,printf("Please input the numbers:\n")这句在scanf语句之前。

笔者也试验了编译器cygwin,用输入EOF判断输入结束时,在默认情况下(勾选run.processes.with.pty时)cygwin在输入数据后不会自动打印输入的数据,但是scanf之后的语句不会运行,程序会直接结束。取消勾选run.processes.with.pty后,程序可以正常输入,但是printf语句依然会在scanf语句执行之后才执行;不是用输入EOF判断输入结束的情况下,程序可以正常运行。

总体上来说还是使用cygwin编译器比较好。cygwin的安装配置请看:

https://blog.csdn.net/zgcr654321/article/details/83141045

Clion设置编译器MinGW:

你可以使用MinGW,也可以使用VS的编译环境。这里以设置MinGW为例。注意使用MinGW时,MinGW的路径中不能有中文名字,否则CLion在测试make.exe程序时会报错,出现类似如下的提示:

CMake will not be able to correctly generate this project.

Clion设置字体大小:

Clion设置tab进四格:

解决CLion输出中文乱码:

红线标处全部按上图选择。

右下角点utf-8处,选择GBK,然后点击Convert,即把控制台输出的字符转换成GBK编码显示,这样就可以正常显示中文了。

错误:cannot open output file 名字.exe

这种情况一般是上一次调试时失败,但是对应的.exe程序在人物管理器中没有关闭造成的。

这时打开任务管理器,关闭相应的.exe程序,再重新运行即可。

解决CLion无法输入EOF且输出中断:

ctrl+shift+a打开搜索框,搜索Registry:

不要勾选run.processes.with.pty。

注意:

这种方法每次重启CLion时都需要重新设置一下。

一劳永逸的方法:修改配置文件

打开C:\Program Files\JetBrains\CLion 2018.2.4\bin\idea.properties文件,将run.processes.with.pty设置为false即可。

有时候这样修改后输出会出现乱码,把右下角重新设为utf-8,然后Convert即可。这时输入完成后,enter下一行,再输入ctrl+D即可输入EOF。

注意:

输入Ctrl+D一定要在输入完成后enter下一行后在行首输入Ctrl+D,否则会造成某些输出中断,输出不完整!!!

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值