【问题标题】:Printing out extended ascii characters from an array从数组中打印出扩展的 ascii 字符
【发布时间】:2020-04-09 19:26:27
【问题描述】:

所以我试图打印一个带有一些扩展特殊字符的字母,但我得到的只是警告和错误的字母 warning: multi-character character constant [-Wmultichar]

数组

char letters[30] = {
        'a', 'b', 'c','č','ć', 'd','dž','đ', 'e', 'f', 'g', 'h',
        'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
        'r', 's','š', 't', 'u', 'v', 'w', 'z', 'ž' };

for (i = 0; i < 30; i++)
     printf("%c", letters[i]);

【问题讨论】:

  • 请发布您的整个程序。
  • 'dž'?这不是一个字符。
  • 'č' --> "č"[0], "č"[1],其余多字节字符相同
  • 您需要某种形式的“宽字符”,也许是 POSIX &lt;wchar.h&gt;pubs.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html
  • 卢卡·米利切维奇,wchar_t letters[] = {L'a', L'b', L'c', L'č', L'ć'}; for (int i = 0; letters[i]; i++) { wprintf(L"%c", letters[i]); } 适合你吗?

标签: c arrays extended-ascii


【解决方案1】:

您将无法使用 printf 打印出那些当前格式化的非 ASCII 字符。那些甚至看起来都不是扩展的 ASCII。

要查看可打印的字符,只需运行本文ASCII Print Function.中提供的代码

要了解更多信息,您可以查看这篇关于打印非 ascii 字符的帖子:Printing Non-Ascii in c

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2019-04-22
    • 2017-07-20
    • 2011-01-09
    • 1970-01-01
    • 2014-04-11
    相关资源
    最近更新 更多