++ NDK中的字符串和特殊字符

时间:2015-02-14 23:16:32

标签: c++ utf-8

我需要传递(在c ++ NDK中)带有“Ç”的字符串值,并使用字符串进行循环。 但是这个字符串长度比正常大,我不能得到“Ç”字符。 请帮帮我吗? 我不使用文本文件。该值生成一个变量,id nedd获取所有字符值,包含或不包含特殊字符。

1 个答案:

答案 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;

每个新字符的第一个字节长度增加,因此您应该能够更改循环以获取字符序列。