如何在 C 中打印零宽度 space 字符
How do I print a zero width space character in C
我试过使用 printf 打印零宽度 space
printf("%c", '');
每当我尝试编译时都会收到警告
warning: multi-character character constant [-Wmultichar]
当我 运行 程序时,我得到白色 spaces 而不是不可见字符,所以我在字符之间放置字母以查看是否得到任何不同的结果,但它什么也没打印
printf("a%cb\n", '');
这个问题的答案可以从这个post
中找到
如果您有正确的代码,这将让您打印任何 unicode 字符。在这种情况下,0 宽度 space 是 0x200B
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main() {
setlocale(LC_CTYPE, "");
wchar_t space = 0x200B;
wprintf(L"%lc\n", space);
}
我试过使用 printf 打印零宽度 space
printf("%c", '');
每当我尝试编译时都会收到警告
warning: multi-character character constant [-Wmultichar]
当我 运行 程序时,我得到白色 spaces 而不是不可见字符,所以我在字符之间放置字母以查看是否得到任何不同的结果,但它什么也没打印
printf("a%cb\n", '');
这个问题的答案可以从这个post
如果您有正确的代码,这将让您打印任何 unicode 字符。在这种情况下,0 宽度 space 是 0x200B
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main() {
setlocale(LC_CTYPE, "");
wchar_t space = 0x200B;
wprintf(L"%lc\n", space);
}