我需要传递(在c ++ NDK中)带有“Ç”的字符串值,并使用字符串进行循环。 但是这个字符串长度比正常大,我不能得到“Ç”字符。 请帮帮我吗? 我不使用文本文件。该值生成一个变量,id nedd获取所有字符值,包含或不包含特殊字符。
答案 0 :(得分:0)
在UTF-8中,字符长度为1到6个字节(char
s)。 See Wikipedia了解更多详情。要获得长度,最简单的方法是跳过所有连续字节:
size_t length = 0;
for (char c : text)
if ((c & 0xC0) != 0x80) // The first two bits are not 10
++length;
每个新字符的第一个字节长度增加,因此您应该能够更改循环以获取字符序列。