首页 > 解决方案 > 如何处理C中的特殊字符?

问题描述

我正在尝试使用拉丁特殊字符(例如 ç、á、è 等)读取(使用 fgets)和写入(使用 printf)字符串。

我尝试以几种不同的方式使用 setlocale 函数,但没有任何积极的结果。有时我读到的字符串写得很好,但在这种情况下,常量字符串(在程序中硬编码)是用奇怪的字符写的,反之亦然。

例如,我尝试了以下选项:

setlocale(LC_CTYPE, "")
setlocale(LC_CTYPE, "Portuguese")
setlocale(LC_CTYPE, "Portuguese_Brazil.1252")

我想知道我的文件代码的编码是否与这个问题有关。

我该如何解决这个问题?

标签: cstringlocalesetlocale

解决方案


推荐阅读