2021-10-03

库函数中的字符串函数介绍与实现

c语言库函数有着许多的类型的函数,下面我们简单介绍其中几个字符串函数;

以下几个函数是长度不受限制的函数

strcpy----“字符串拷贝”

函数原型

函数返回类型为char*,形参1类型为char*,形参2类型为const char *;使用需引用头文件 < string.h >
函数作用为 把源字符串(strSource )的内容拷贝到目标空间(strDestination)里,在使用是需注意几点事情:
  1. 源字符串以‘\0’结束;
  2. 会将源字符串中的’\0’一并拷贝到目标空间里;
  3. 目标空间必须足够大且可修改,保证能存放源字符串;
函数自定义实现

在这里插入图片描述在这里插入图片描述

strcat----“字符串追加”

这里插入图片描述

函数返回类型为char*,形参1类型为char*,形参2类型为const char *;使用需引用头文件 < string.h >
函数作用为把源字符串内容追加到到目标字符串上,位置为目标字符串结束位置,完成后会自动添加’\0’;使用需注意:
  1. 字符串需以’\0’结束;
  2. 目标空间要足够大,且可修改,确保可以存放源字符串;
函数自定义实现:

在这里插入图片描述
在这里插入图片描述

strcmp----“字符串比较”

在这里插入图片描述

函数返回类型为int,形参1类型为const char*,形参2类型为const char*,头文件 < string.h > ;

函数作用为比较两个字符串大小( 是比较内容,不是长度)

在这里插入图片描述

  1. 字符串1小于字符串2则返回一个小于0的值
  2. 字符串1等于字符串2则返回一个0
  3. 字符串1大于字符串2则返回一个大于0的值

返回的值除了相等是0,其余情况下返回的值并不固定,而是取决于比较的两个字符的ASCII值

函数自定义实现:

在这里插入图片描述

在这里插入图片描述

上面这几个函数都不会受到长度的限制,基本只认’\0’,那接下来就介绍几个受长度限制的字符串函数。

下面是长度受限制的几个字符串函数

strncpy----“拷贝指定的字符个数”

在这里插入图片描述

函数的返回类型为char*,形参1类型为char ,形参2类型为const char,形参3类型为size_t(无符号整型),使用时需引头文件< string.h>;
函数作用为拷贝源字符串中指定的字符个数,注意事项:
  1. 确保目标空间足够且可修改
  2. 源字符串需以’\0’结束
  3. 当源字符串字符个数小于指定拷贝的字符个数是,会按‘\0’补齐拷贝字符个数
函数自定义实现

在这里插入图片描述

strncat----”追加指定的字符个数“

在这里插入图片描述

函数返回类型为char*,形参1类型为char*,形参2类型为const char*,形参3类型为size_t,头文件为<string.h>;

函数作用为将源字符串内容中的指定个数追加到目标字符串上,追加位置为目标字符串’\0’位置,追加结束会补上’\0’。需注意:

  1. 目标空间足够且可修改
  2. 字符串以’\0’结束
  3. 只有源字符串长度大于或等于指定个数时,才能确保将源字符串的指定字符个数追加到目标字符串上,否则只会将源字符串包括’\0’的内容追加到目标字符串上,并结束工作;

函数自定义实现:

在这里插入图片描述在这里插入图片描述

strncmp----“比较指定的字符个数”

在这里插入图片描述

函数返回类型为int,形参1类型为const char*,形参2类型为const char*,形参3类型为size_t,头文件为<string,h>;

函数作用为比较两个字符串大小( 是比较内容,不是长度)

在这里插入图片描述

strncmp函数同strcmp函数区别在于可指定比较的字符个数;

函数自定义实现:

在这里插入图片描述
就先介绍到这里了,函数的使用应视情况而定,不能一概而论。任何函数都不是完美的,都有着局限性,所以才会有第二个函数,第三个函数,第n个函数;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值