strlen和str.length()的区别

来源:互联网 发布:java过滤器的应用场景 编辑:程序博客网 时间:2024/05/18 13:47
两者都是求字符串的长度,但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;
}

0 0
原创粉丝点击