首页 > 解决方案 > UTF8 字符打印到 C 中的文件

问题描述

我正在尝试学习编码 c。我想打印 utf-8 字符度°
http://www.fileformat.info/info/unicode/char/b0/index.htm

我在代码中使用了很多 fprintf,所以如果我理解正确,我就不能使用宽字符或 fwprintf。使用下面的代码,我得到了我在本地 Ubuntu 机器上想要的结果,但是这段代码是

 fprintf(a,"\u00B0"); 

用于讲座分配并在moodles vpl上运行。

![在此处输入图像描述

正如您在屏幕投射度符号中看到的那样,未打印。所以我寻找替代方法,在某处看到\u是编译器依赖的,也许这就是原因。我也试过

char b*={0xC2,0xB0,0};
fprintf(a,"%s",b);

没有像我预期的那样寻找替代方法。

谢谢你。

你的输出:

537 172~38' 16.8012" E 43~31' 26.4002" S Christchurch 新西兰 363926 74.05 536 171~12' 25.2015" E 42~28' 19.1967" S Greymouth 新西兰 9419" 182.24 56.48'257 45~53' 2.3925" S 但尼丁 新西兰 114347 240.97


预期输出:

537 172° 38' 16.8012" E 43° 31' 26.4002" S Christchurch 新西兰 363926 74.05 536 171° 12' 25.2015" E 42° 28' 19.1967" S Greymouth New-Zealand 9419 15082.28'26" S 新西兰 9419 15082.28" 26 45° 53' 2.3925" S 但尼丁 新西兰 114347 240.97

我尝试了不同的方法,有时会出错;当我尝试将语言环境设置为 utf8encode 或 printf(\u00b0) cat: user.out.disp: No such file or directory

标签: cutf-8

解决方案


推荐阅读