我正在安装Ubuntu Bash的Windows机器上工作。我正在研究一个基本的C程序,该程序对输入字符串中字符的出现进行计数,并打印字符以及要输出的出现次数。
我遇到一个带有'£'符号的问题。当我从Windows命令提示符“ gcc main.c”进行编译时,我看到“£”的值为156,与ASCII table一致。
但是,当我从Ubuntu Bash编译代码时: 1.'£'字符不会显示在输出上(仅显示空白) 2.当我打印相应的值时,我得到163
我相信这意味着Ubuntu Bash使用的编译器正在使用Unicode字符集。
如果正确,如何控制编译器使用的字符集?据我所知,可以在编译时添加额外的限定符,例如:
gcc -fexec-charset = UTF-8 main.c
这些详细信息在here中给出。我已经尝试运行此程序,但是产生的结果与以前相同。我是在沿着正确的方向思考,还是我明显错过了一些明显的事情?