void FAQ_GetLengthMethod()
{
/**
1.length()只用于获取string字符串的长度
2.size()
2.1 可以获取string字符串的长度
2.2 可以获取vector的长度
PS:string可以用length()和size()获取字符串长度,应该和string对象有关。类可以用局点连接类方法。
3.sizeof()
获取数据类型或者变量所占内存空间的大小 sizeof(int)= 4
4.获取字符串实际的长度:strlen(arr);
PS:c风格字符串和char数组的区别:c风格字符串是特殊的char数组,它的末尾是空字符,\0。
char数组:char dog[10] = { 'a', 'b', 'c', 'd' };
c风格字符串:char cat[10] = { 'a', 'b', 'c', '\0' };
PS:字符数组或者char数组,应该只有这一种初始化方式
char animal = "s"; 这里的s实际是s和\0。
*/
const int charSize = 30;
char charArray01[charSize] = "This is a charArray01!";
char charArray02[] = "This is a charArray02!";
char charArray03[charSize] = "This is a charArray031234567!";
string str01 = "this is a string!";
/*
1.length()只用于获取string字符串的长度
*/
//cout << "charArray01 的长度是:" << charArray01[charSize].length() << endl;
//(1)length不能用来求c风格字符串的长度
//(2)“.length”的左边必须有类 / 结构 / 联合
cout << "str01 是:" << str01 << endl;
cout << "str01 的长度str01.length()是:" << str01.length() << endl;
/*
2.size()
2.1 可以获取字符串的长度
2.2 可以获取vector的长度
*/
//cout << "charArray01 的长度是:" << charArray01.size() << endl;
cout << "str01 的长度str01.size()是:" << str01.size() << endl;
/*
3.sizeof()
获取数据类型或者变量所占内存空间的大小 sizeof(int)= 4
*/
cout << "\ncharArray01 是:" << charArray01 << endl;
cout << "字符串所占内存空间的大小sizeof(charArray01)是:" << sizeof(charArray01) << endl;
/*
4.获取字符串实际的长度:strlen(arr);
*/
cout << "字符串实际的长度strlen(charArray01)是:" << strlen(charArray01) << endl;
cout << "charArray01 中第二个元素charArray01[1]是:" << charArray01[1] << endl;
cout << "charArray01 中第二个元素的长度sizeof(charArray01[1])是:" << sizeof(charArray01[1]) << endl;
cout << "\ncharArray02 是:" << charArray02 << endl;
cout << "字符串所占内存空间的大小sizeof(charArray02)是:" << sizeof(charArray02) << endl;
cout << "字符串实际的长度strlen(charArray02)是:" << strlen(charArray02) << endl;
cout << "\ncharArray03 是:" << charArray03 << endl;
cout << "字符串所占内存空间的大小sizeof(charArray03)是:" << sizeof(charArray03) << endl;
cout << "字符串实际的长度strlen(charArray03)是:" << strlen(charArray03) << endl;
}
字符串中sizeof、strlen、size、length的区别
最新推荐文章于 2023-11-29 10:56:10 发布