|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 TomZz 于 2022-8-3 00:47 编辑
使用mingw-w64作为编译器。
Windows下以以下代码运行:
- chcp 65001 > null ; if ($?) { cd "c:\Users\Administrator\Desktop\数据结构\1.基本概念" } ; if ($?) { gcc 例3.c -o 例3 } ; if ($?) { .\例3 }
复制代码
即将控制台改为UTF-8了,正常输出和输入中文。
可是当我故意写一段错误代码
报出了三个错误
- ��3.c: In function 'main':
- ��3.c:37:26: error: stray '\344' in program
- printf("�01;31m中;
- ^
- ��3.c:37:27: error: stray '\270' in program
- printf("�01;31m��;
- ^
- ��3.c:37:28: error: stray '\255' in program
- printf("�01;31m�;
复制代码
可以看到到报错的情况下中文文件名和中文代码部分仍是乱码。
文件名是"例3.c",估计是“例”这个字占用两字节被强制拆分成两个一字节的字处理。
有大佬可以解读一下Gcc的报错机制是强制ascii码吗?
附上截图
|
|