可以使用与此类似的方法完成此操作:
只要用户通过scanf输入的字符串的当前元素不是\ 0,将一个添加到"length"int,然后打印出长度.
如果有人能够以最简单的方式指导我,我会非常感激,因为我是初学者.
非常感谢,有一个好的!
字符串长度是什么意思?
用字符很容易获得字节数strlen(s).
以UTF-8编码的代码点数可以通过计算单字节字符数(范围1到127)和前导字节数(范围0xC0到0xFF)来计算,忽略连续字节(范围0x80到0xBF)和停在'\0'.
这是一个简单的功能:
size_t count_utf8_code_points(const char *s) {
size_t count = 0;
while (*s) {
count += (*s++ & 0xC0) != 0x80;
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
此函数假定指向的数组的内容s已正确编码.
还要注意,这将计算代码点的数量,而不是显示的字符数,因为其中一些可以使用多个组合代码点进行编码,例如<LATIN CAPITAL LETTER A>后面跟着<COMBINING ACUTE ACCENT>.
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |