eclipse的代码提示获取到的描述:
/// Returns the number of characters in the string, not including any
/// null-termination.
意思大概是返回字符串的字符个数,不包括结束符
我的系统的ubuntu13.04,系统设置的编码如下:
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh:en_US:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=
在此环境下执行下面的代码:
std::string str = "中国";
cout << str.size() << "," << str.length() << "," << strlen(str.c_str())<< endl;
结果为:
6,6,6
返回的其实是字节数
Eclipse代码提示与UTF-8编码下字符串长度差异解析
本文详细解释了在UTF-8编码环境下使用Eclipse进行编程时,通过代码提示获取字符串长度的方法及注意事项,特别关注了字符与字节之间的区别,以及如何准确获取字符串的字符个数。
1156

被折叠的 条评论
为什么被折叠?



