C语言库函数拓展

一、字符分类函数

iscntrl   任何控制字符

isspace  空白字符

isdigit   十进制数字 0-9

isxdigit  十六进制数字  十进制数字、a-f 、A-F

islower   小写字母

isupper   大写字母

isalpha   字母

isalnum   字母或者数字

ispunct    标点符号

isgraph    图型字符

isprint    打印字符

我们以islower为例说明,其他的函数用法基本类似:

 

 我们可以得出结论:如果函数的参数符合函数所表达的要求则返回真,否则返回假

二、字符转换

int tolower(int c)转换为小写

int toupper(int c)转换为大写

我们通过代码来理解用法:

 三、memcpy  内存拷贝(应该拷贝不重复的数字)

基本用法:

 

memcpy中有三个参数,第一个参数为目标参数,第二个参数为待拷贝参数,第三个参数拷贝多少个字节,切记我们的memcpy函数是以字节为单位拷贝。所以我们上述的代码可以理解为:将arr1的前五个元素拷贝到arr2。

模拟实现:

为什么我们传参是void类型的指针呢?应为我们拷贝的类容有各种各样的类型,不仅有整数型,同时也有字符型,为了防止代码的冗余。当我们拷贝相关类容是直接把指针类型转换为对应的指针类型。

我们采用从前往后的拷贝的方法,一个字节一个字节的去拷贝,共拷贝num次。

如果我们要自己拷贝自己,此时可以用emecpy函数吗?答案当然是不可以,应为使用emecpy会产生覆盖。

四、memmove 内存拷贝(可以拷贝重复的数字)

基本用法:

 基本用法对应memcpy函数的用法。

模拟实现:

如果dest<src则采用从前往后的拷贝方法

如果dest>=src则采用从后往前的拷贝方法

 五、memcmp  内存比较

memcmp函数也是根据字节来比较的。

 

 此函数返回的值和strcmp返回的规律一样,如果相等返回0,如果arr1小于arr2则返回小于0的值,如果arr1大于arr2则返回大于0的值。

六、memset  以字节为单位设置内存

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏醒醒苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值