两者都是求字符串的长度,但strlen( )的参数必须是char* ;而 str.length( )是string类对象str调用的成员函数,所以它们用在不同的地方;
char* ch="asdfsafas";
string str="adfadf";
cout<<str.length();
// cout<<strlen(str); 出错
cout<<strlen(ch);
// cout<<ch.length();出错
strlen()的定义基本如下:
int strlen( const char *str ) //输入参数const
{
assert( strt != NULL ); //断言字符串地址非0
int len;
while( (*str++) != '\0' )
{
len++;
}
return len;
}
本文介绍了两种获取字符串长度的方法:C风格字符串的strlen()函数与C++标准库中string类的length()成员函数。通过示例代码说明了两者的使用场景及区别。
689

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



