#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s = "hello";
cout<<strlen(s.c_str()); // string 转成 char *
return 0;
}
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string A = "Hello, world!";
cout<< A.size() <<endl;
cout<< A.length() <<endl;
}
strlen只能针对char数组字符串,而string实际是个类,里面封装了字符数组。但这个类本身并不支持strlen,类已经提供了相应的字符串长度计算函数length(),所以改为 int b = a.length();就行了
既然已经是C++了,就尽量用C++的知识吧
C++ 中是string 类可以直接通过 实例使用 size() 或者 length ,
string a = "abcdefg"
int b = a.size();
b=a.length();
如果你非的要用strlen , 可以调用c_str() ,把string 转换为 char *
例如:
b=strlen(a.c_str());
以上得出的效果都是一样的
这么改:int b = a.length();
strlen只能用char数组
望采纳