在使用clion进行日常写题时会遇到中文乱码这个问题,而这是clion自带一个bug。像网上说的那些去设置修改文件编码没用,我们需要关闭clion注册表中默认启动的run.processes.with.pty选项
CTRL+alt+shift+/:打开clion的注册表(我使用了中文插件),英文也是第一个
找到run.processes.with.pty选项,取消选中
“run.processes.with.pty” 是 CLion 编辑器中的一个设置选项。这个选项与控制台输出和字符编码有关,特别是在处理某些字符编码问题时,如中文乱码问题。在 CLion 中,这个选项默认是启用的,它会给 CLion 分配一个伪终端(PTY)来运行进程。
在某些情况下,比如使用 MinGW 编译器时,这个伪终端可能不支持宽字符,从而导致控制台输出出现乱码。解决这类问题的一个常见方法就是禁用 “run.processes.with.pty” 选项。禁用后,CLion 将不会使用伪终端来运行进程,这有助于解决某些字符编码问题,尤其是在处理中文输出时。
如上我们就可以解决中文乱码问题,但是会带来新的问题。
你的输出语句不会立即执行,会先加载到缓冲区,待程序执行完毕输出
如下图:
解决方法:加上setbuf(stdout,NULL),即可即时输出;
C语言中用于控制标准输出流(通常是终端或屏幕)的一个函数调用。这个调用的作用是关闭标准输出流的缓冲机制。