char ch1[ 10 ] = {'s','h','\0','h'};
char ch2[] = {"sh\0h"};
char* ch3 = "shh"
(1)strlen()
统计字符串存在多少个有效字符,遇到'\0'结束,不包含‘\0’
strlen( ch1 ) 会得到 2
strlen( ch2) 会得到2
strlen( ch3) 会得到3
(2)sizeof
统计字符串所占空间大小,包含‘\0’,只能对字符数组ch1,ch2起作用,如果要使用字符串,必须为字面值
strlen(ch1) 得到10
strlen(ch2) 得到5
strlen(“ssh”) 得到3
(3)c 中特殊情况
c 含有string集合 string str =“sh\0h”;拥有集合自带的length(),和size()函数,都是遇到‘\0’结束,不包括'\0'
str.legth() 和 str.size()都得到2
如果想用strlen,必须将str转化为c语言格式:strlen(str.c_str())得到2