求字符串,字符,或数组的大小

本文详细介绍了C++中使用sizeof(), strlen(), .size()等方法求取字符串和字符数组长度的方法及区别,通过具体实例演示了如何正确获取不同数据类型的长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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";  // 长度为3

        printf("Array is %d\n", sizeof(a)); //是字符数组的长度,3

        printf("Array is %d\n", sizeof("ab")); //是字符串ab的长度, 加上结束符,即长度是 2+1 = 3

cout<<strlen(a); // 字符数组的长度 3


printf("%d\n", sizeof(str)); //字符串的长度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个,编译器会报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值