c - 从字符串中获取要打印的符号数

问题描述 投票:0回答:1

我需要找出从字符串中打印多少个符号。假设我有这段代码:

char    buf[200];

strcpy(buf, "\033[31m");     //Red color control sequence
strcat(buf, to_utf8(L'漢'));
strcat(buf, "a");
printf("%s", buf);

哪里

to_utf8(wchar_t c);

将给定的白色字符转换为其utf8表示形式并返回其字符串

仅打印2个红色符号(“汉字”)。

如果我要跑:

strlen(buf);

我会得到9的长度

我需要的是一个函数,它将计算要打印的符号的数量,即在这种情况下:2

我需要一个没有任何外部库的解决方案。

关于这个问题的任何想法?

c unicode
1个回答
0
投票

万一有人还有这个问题:

这个问题的解决方案是知道我的光标在哪里。这家伙有一个很好的低级code,可以读取光标位置。

这不是我的问题的直接答案,但在我按下键之前和之后知道光标的位置,解决了我的特定问题。

© www.soinside.com 2019 - 2024. All rights reserved.