一、sizeof(), sizeof' ' , sizeof" "三种情况
sizeof():括号里面可以是数组名,也可以“abc.....”;
sizeof' ':只能是字符,当是一个字符的时候大小为1,二三四个字符时则为4,大于4个字符则编译通不过
sizeof" ":双引号里面是字符串,求出的长度是字符串 + ‘\0’ 的长度,即长度加1
二、strlen(), 和 .size()
对于string 类型,必须用.size(), 而char[] 型,则用strlen()
char a[] = {1, 2, 3};
string str = "abc"; // 长度为3printf("Array is %d\n", sizeof(a)); //是字符数组的长度,3
printf("Array is %d\n", sizeof("ab")); //是字符串ab的长度, 加上结束符,即长度是 2+1 = 3
cout<<strlen(a); // 字符数组的长度 3
cout<<str.size()<<endl; //字符串的长度3, 对于string 类型,必须用.size(), 而char[] 型,则用strlen()
//cout<<strlen(str); //报错
printf(" %d\n", sizeof"xyzmn"); //字符串的长度, 加上结束符, 即 5+1 = 6
printf("PI is %d\n", sizeof'P'); //单引号,1
printf("PI is %d\n", sizeof'PI'); //超出一个,则为4,超出4个,编译器会报错
C++中字符串与字符数组长度求取方式解析
本文详细介绍了C++中使用sizeof(), strlen(), .size()等方法求取字符串和字符数组长度的方法及区别,通过具体实例演示了如何正确获取不同数据类型的长度。
2729

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



