c - 如何处理C中的特殊字符?
问题描述
我正在尝试使用拉丁特殊字符(例如 ç、á、è 等)读取(使用 fgets)和写入(使用 printf)字符串。
我尝试以几种不同的方式使用 setlocale 函数,但没有任何积极的结果。有时我读到的字符串写得很好,但在这种情况下,常量字符串(在程序中硬编码)是用奇怪的字符写的,反之亦然。
例如,我尝试了以下选项:
setlocale(LC_CTYPE, "")
setlocale(LC_CTYPE, "Portuguese")
setlocale(LC_CTYPE, "Portuguese_Brazil.1252")
我想知道我的文件代码的编码是否与这个问题有关。
我该如何解决这个问题?
解决方案
推荐阅读
- amazon-ec2 - Amazon EC2 需要针对地理目标的 Web 应用程序的指导
- android - 在 Android Studio 中构建失败的 Flutter 项目
- selenium - 有人可以帮我找出为什么 PYCharm 没有读取我的 .find_element_by 命令吗?
- graph - 从程序代码到图形的可逆投影
- django - 如何让来自 Ajax 的 Django 表单错误出现在用户屏幕上?
- angular - Angular 10 - 如何用组件中 API 的数据填充数组
- python - 给定除利率以外的所有值,如何求解利率的 EMI 公式?
- rxjs - 订阅如何运作
- python - 使用 Binance API 的这个 .create_margin_order() 函数有什么问题
- java - Java 9,尝试将 URL 添加为 XML 中的元素时出现 INVALID_CHARACTER_ERR