C/C++ 字符串长度的计算

本文介绍了C/C++中计算字符串长度的方法,如C语言的strlen函数和C++的size()或length()函数,以及强调了strlen用于C风格字符串而非C++string对象。同时提到了sizeof运算符用于获取数据类型或变量在内存中的字节数。

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

C/C++ 字符串长度计算

在C语言中,可以用strlen()这个函数来计算字符串长度,它接受一个以 "\0"结尾的字符数组(字符串)作为参数,并返回该字符串中字符的数量,不包括结尾的 “\0” 字符。

#include <stdio.h>
#include <string.h>

int main()
{
   char str[] = "Hello, world!";
   int length = strlen(str);
   printf("字符串长度为: %d\n", length);//输出13
   return 0;
}

在C++中,可以用size()和length()函数计算字符串长度,length()和size()。这两个函数实际上是等价的,没有实质的区别,可以互换使用。

length()和size()函数返回的都是字符串的字符数(即字符串的长度),不包括结尾的空字符(\0)。

#include <iostream>
#include <string>
using namespace std;

int main() 
{
    string s = "123456";
    string s2 = "1234567";
    int len = s.length();
    int len2 = s2.size();
    cout << len << endl;//输出6
    cout << len2 << endl;//输出7
    return 0;
}

strlen()函数不能计算C++中string类型的字符串长度,strlen函数是用来计算C风格字符串的长度的, 即字符数组, 而不是C++中的string对象的长度。

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s = "1232456";
    strlen(s);//错误
    return 0;
}

sizeof()的使用

sizeof 是一个 C 语言的运算符,不是函数,用于计算数据类型或变量的大小(以字节为单位)。
它返回一个 size_t 类型的值,表示对象在内存中所占的字节数。
例如,sizeof(int) 返回 4,因为 int 类型通常占用 4 个字节。在64位操作系统下,指针是占8个字节空间大小,不管是什么数据类型。

用法:
1.sizeof 对于一般变量, sizeof a 或者 sizeof(a);
2. 对于数据类型, 必须带括号 sizeof(int);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值