c++求字符串长度 strlen与sizeof
C++
string s1="string_length_test";
cout<<s1.length()<<endl;//输出18,不包括最后的结束符cout<<s1.size()<<endl;//输出18,不包括最后的结束符
cout<<strlen(s1.c_str())<<endl;//输出18,不包括最后的结束符
C
c类型的字符串是以 结尾的字符数组。
sizeof可以计算字符串长度,但是参数必须是字符串字面值,而且计算的值包括最后的 标志,比如cout<<sizeof("hello")<<endl;输出6。
sizeof 与strlen()
sizeof可计算数组的长度,分为指明长度时和为显示指明长度时:
而strlen只是计算字符数组的实际长度:
char c[9] = {"a", "b"};
9 printf("c---%d
", strlen(c));//2
10 printf("sizeof------%d
", sizeof(c));//9
11 char cc[] = {"a", "b"};
12 printf("cc strlen---%d
", strlen(cc));//4
13 printf("sizeof --- %d
", sizeof(cc));//2
14 char c1[] = "hello";
15 printf("c---%d
", strlen(c1));//5
16 printf("sizeof------%d
", sizeof(c1));//6
17 char c2[9] = "hello";
18 printf("c---%d
", strlen(c2));//5
19 printf("sizeof------%d
", sizeof(c2));//9
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: PHP常用的一些屌炸天的技巧(一)
- 下一篇: 网站性能优化从入门到粗通(PHP 篇)