clion运行乱码

示例一:

#include<stdio.h>

int main() {
    int i, j;
    printf("\1\1\n"); /*输出两个笑脸*/
    for (i = 1; i < 11; i++) {
        for (j = 1; j <= i; j++)
            printf("%c%c", 219, 219);
        printf("\n");
    }
    return 0;
}

这里写图片描述

示例二:

#include<stdio.h>

int main() {
    char a = 176, b = 219;
    printf("%c%c%c%c%c\n", b, a, a, a, b);
    printf("%c%c%c%c%c\n", a, b, a, b, a);
    printf("%c%c%c%c%c\n", a, a, b, a, a);
    printf("%c%c%c%c%c\n", a, b, a, b, a);
    printf("%c%c%c%c%c\n", b, a, a, a, b);
    return 0;
}

这里写图片描述

解决乱码:

1、控制台汉字乱码:

这里写图片描述

2、图形乱码:如上示例一/示例二

打开命令行把【默认值】里的【默认代码页】改成:【437 (OEM-美国)】即可

这里写图片描述

这里写图片描述

参考:

C 练习实例7
C 练习实例10

### CLion 运行程序输出乱码的解决方案 CLion 是一款功能强大的 IDE,但在处理中文字符时可能会遇到乱码问题。以下是针对该问题的具体分析和解决办法。 #### 1. **系统编码设置** 在某些情况下,操作系统默认的编码可能不是 UTF-8,这可能导致 CLion 控制台无法正确显示中文字符。可以通过以下方式调整系统的编码设置: - 对于 Windows 用户,可以尝试更改区域选项中的语言设置为支持 Unicode 的语言环境[^3]。 - Linux 或 macOS 用户则需确认终端使用的编码是否为 UTF-8,并通过命令 `locale` 查看当前的语言环境配置。 #### 2. **修改 Registry 设置** 如果 CLion 使用 PTY(Pseudo-Terminal)模式运行进程,则可能出现中文乱码的情况。此时可通过禁用此功能解决问题: - 打开 CLion 主菜单中的 `Help | Find Action` (快捷键:Windows/Linux 上为 `Ctrl+Shift+A`;macOS 上为 `Cmd+Shift+A`)。 - 输入 `Registry...` 并回车。 - 在弹出窗口中搜索并取消勾选 `run.processes.with.pty` 选项[^4]。 完成上述操作后重启 CLion 即可生效。 #### 3. **调整 VM Options 配置** 对于远程开发或者特定环境下产生的中文乱码现象,还可以通过修改 JVM 启动参数的方式加以改善: - 转至 CLion 安装目录下的 `bin` 文件夹,找到对应平台版本的 `.vmoptions` 文件(如 `clion64.vmoptions`)。 - 添加如下内容以强制指定文件编码为 UTF-8: ``` -Dfile.encoding=UTF-8 ``` 保存修改后的文件再启动 CLion 测试效果如何[^2]。 #### 4. **编译器与工具链的选择影响** 当采用 MinGW 工具链构建项目时也容易遭遇类似的编码难题。这是因为不同编译器之间可能存在兼容性差异所致。建议切换到 MSVC 或者 Cygwin 等其他替代品试试看是否会有所改观。 ```cpp #include <iostream> int main() { std::setlocale(LC_ALL,"chs"); // 设置本地化为中国标准 std::cout << "你好世界!" << std::endl; } ``` 以上代码片段展示了如何利用 C++ 标准库函数 setlocale 来改变程序内部所使用的地区设定从而适应更多特殊字符集的需求[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值