C++ 字符数组函数全解析

在 C++ 编程中,字符数组函数是处理字符串操作的重要工具。下面将详细介绍几种常见的字符数组函数及其用法,并附上相应实例。

一、长度函数 strlen ()

  1. 函数原型与头文件
    • 函数原型:strlen(字符数组名)
    • 头文件:<cstring>
  2. 功能
    • 计算整体输入的字符数组中字符个数,不包含‘\0’在内。
  3. 实例
    • 当使用cin输入时,例如:
char a[30];
cin>>a; // 输入hello world,实际存储为hello(因为cin遇到空格停止)
int x = strlen(a); 
cout<<x; // 输出5
  • 当直接赋值时,例如:
char a[30] = "hello world"; 
cout<<strlen(a); // 输出11
  • 遍历字符数组可以使用以下两种方式(以直接赋值的字符数组为例):
// 方式1
for(int i = 0;i<strlen(a);i++){
    cout<<a[i];
}
// 方式2
for(int i = 0;i<=strlen(a)-1;i++){
    cout<<a[i];
}

二、比较函数 strcmp ()

  1. 函数原型与头文件
    • 函数原型:strcmp(字符数组s1,字符数组s2)
    • 头文件:<cstring>
  2. 功能
    • 比较字符串 s1 和 s2,按照字典序规则(自左向右逐个字符比较 ASCII 值,直到出现不同字符或‘\0’为止)。
    • 当 s1<s2 时,返回负数;当 s1>s2 时,返回正数;当 s1=s2 时,返回 0。
  3. 实例
char str[20],str2[30];
cin>>str>>str2;
if(strcmp(str,str2)>0){
    cout<<str;
}else{
    cout<<str2;
}

三、复制函数 strcpy ()

  1. 函数原型与头文件
    • 函数原型:strcpy(字符数组a,字符数组b)
    • 头文件:<cstring>
  2. 功能
    • 把字符数组 b 复制到字符数组 a 中。
  3. 实例
char a[20]="hello",b[30]="world";
strcpy(a,b);
cout<<a<<endl; // 输出world
cout<<b<<endl;// 输出world
  • 注意:使用strcpy()函数时,要保证字符数组 a 空间足够大,否则会出现数组越界的情况。

四、连接函数 strcat ()

  1. 函数原型与头文件
    • 函数原型:strcat(字符数组a,字符数组b)
    • 头文件:<cstring>
  2. 功能
    • 把 b 所指向的字符串添加到 a 结尾处(覆盖 a 结尾处的‘\0’)。
  3. 实例
char a[20]="hello",b[30]="world";
strcat(a,b); 
cout<<a<<endl; // 输出helloworld
cout<<b<<endl;// 输出world
  • 注意:使用strcat()函数时,要保证字符数组 a 空间足够大,否则会出现数组越界的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值