【问题标题】:How do I print a zero width space character in C如何在 C 中打印零宽度空格字符
【发布时间】:2021-12-28 03:00:15
【问题描述】:

我尝试使用 printf 打印零宽度空间
printf("%c", '​');

每当我尝试编译时都会收到警告
warning: multi-character character constant [-Wmultichar]
当我运行程序时,我得到的是空格而不是不可见的字符,所以我在字符之间放置了字母以查看是否得到任何不同的结果,它什么也没打印 printf("a%cb\n", '​');

【问题讨论】:

    标签: c character zero-width-space


    【解决方案1】:

    这个问题的答案可以在Printing a Unicode Symbol in C这个帖子里找到

    如果您有正确的代码,这将允许您打印任何 unicode 字符。在这种情况下,宽度为 0 的空间是 0x200B

    #include <stdio.h>
    #include <wchar.h>
    #include <locale.h>
    
    int main() {
        setlocale(LC_CTYPE, "");
        wchar_t space = 0x200B;
        wprintf(L"%lc\n", space);
    }
    

    【讨论】:

      猜你喜欢
      • 2012-07-03
      • 2018-02-19
      • 2013-10-27
      • 2022-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      相关资源
      最近更新 更多