c - 从字符串

时间:2017-08-18 15:06:28

标签: c unicode

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

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个红色符号("汉a")。

如果我要跑:

strlen(buf);

我会收到9的长度

我需要的是一个能计算要打印符号数量的函数,也就是说,在这种情况下:2

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

关于此事的任何想法?

1 个答案:

答案 0 :(得分:0)

如果有人还有这个问题:

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

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