字符串处理函数

10.1 字符串操作函数

以str开头的字符串处理函数,默认遇到'\0'结束操作

#include<string.h>//函数被包含在头文件string.h中

10.1.1 测量字符串的长度strlen

#include<string.h>
size_t strlen(const char *s)
//返回值为字符串的长度,参数s指需要测量的字符串的首元素的地址
char str1[128]="hello";
strlen(str1);//5
char str2[128]="he\0llo";
strlen(str2);//2,因为遇到\0结束,只会测量he的个数

10.1.2 字符串拷贝函数strcpy

#include<string.h>
char *strcpy(char *dest,const char *src)//把src里的字符串拷进dest里面
char *strncpy(char *dest,const char *src,size_t n);//把src里的前n个字符串拷进dest里面
char dst[128]="";
char src[]="hello\0world";
strcpy(dst,src);
cout<<dst<<endl;//hello
char dst1[]="";//dst1数组只有1字节,当src1拷贝到dst1中会造成溢出(内存污染)
char src1[]="helloworld";
strcpy(dst1,src1);
cout<<dst1<<endl;//helloworld(污染内存)

10.1.3 字符串追加函数strcat

#include<string.h>
char *strcat(char *dest,const char *src);
char *strncat(char *dest,const char *src,size_t n);
将src指向的字符串追加到dest指向的字符串尾部
char dst[128]="hello";
char src[]="world";
strcat(dst,src);
cout<<dst<<endl;//helloworld

10.1.4 字符串比较函数strcmp

#include<string.h>
int strcmp(const char *s1,const char *s2);
int strcmp(const char *s1,const char *s2,size_t n);

返回值:

  • >0    s1字符串>s2字符串
  • <0    s1字符串<s2字符串
  • ==0  s1字符串==s2字符串

在比较时会从前往后依次比较,当前面的字符不相等时,便不会比较后面的字符了

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值