【问题标题】:How to put the character 'Ñ' in Xcode for language C? [duplicate]如何在 Xcode 中为语言 C 输入字符“Ñ”? [复制]
【发布时间】:2021-10-30 14:35:40
【问题描述】:
#include <stdio.h>


int main(int argc, const char * argv[]){
   
    for (char i='A'; i<='Z'; i++){
        printf(" %c ",i);
        if (i=='N')
            printf("%c",165);
    }
    
    return 0;
}

【问题讨论】:

  • 我看到代码 165 根据 ASCII 被设置为字符 'Ñ',所以我不明白为什么它会出现 /245
  • ASCII 只提供最高 127 的代码。您所看到的是一个名为 "extended ASCII" 的编码图表,这是对现在完全过时的编码的高度模棱两可且有些误导性的描述.
  • 你为什么不使用 UTF-8?
  • 欢迎来到 Stack Overflow。请阅读 joelonsoftware.com/2003/10/08/… ,并强烈考虑使用 C 或 C++ 以外的任何语言进行繁重的文本操作。
  • 非常感谢您的帮助,我是编程新手和老师,我的大多数同学都使用 devc++,所以他们要求这些 ASCII 码

标签: c


【解决方案1】:

为了打印/使用字符 Ñ 是一个程序,您需要使用支持它的字符集。最简单的可能是如果您的系统支持 unicode(现在大多数都支持),这将允许您做一些简单的事情

printf("\u00d1");

这将打印 unicode 字符代码点 #00D1,即 Ñ

【讨论】:

  • printf 只能与格式字符串一起使用。使用puts 呈现字符串值,否则您可能会面临漏洞:stackoverflow.com/questions/46776664/…owasp.org/www-community/attacks/Format_string_attack
  • 你错了。它是答案中的格式字符串,只是一个没有可替换的占位符。您链接到的答案有一个用户提供的格式字符串。
  • OP 在此处使用 printf 的唯一原因是因为这是 OP 为单个 char 大小的值指定数值的方式(而不是使用任何类型的文字语法) .还有很多其他方法可以做到这一点。
  • @TanveerBadar 正确 - 我只是觉得默认使用 puts until-or-unless最佳实践 你需要格式化输出 - 那方式(最终)你不太可能使用printf 来处理用户提交的字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
相关资源
最近更新 更多