【STM32】常用字符操作函数

【百问网】物联网学习笔记6

观察AT指令的规律,发现大部分指令,操作和返回都是一样的。

于是编写一个通用的函数,去实现发送操作指令。

对于其中特殊的指令,再单独编写程序去实现。

在这个项目里,和模块进行通信、模块接收和发送的都是字符串。

其实我们就是对字符串处理,因此要对操作字符串的函数熟悉。

使用的开发板实物图如下:

以下介绍几个常用的字符处理函数 

这些函数的头文件 都是 #include  <string.h>

第一个 strlen 

用于计算指定字符串的长度

参数是字符串的首地址,以‘\0’结尾(计算结果不包含‘\0’)

返回值是unsigned int类型    非负整数

第二个 strcat

将参数2的字符串  连接 到参数1的尾部,‘\0’也会追加过去

也就是实现 拼接到 字符串尾部的效果

成功返回新字符串的首地址,也就是目标字符串(参数1)的首地址

失败返回NULL

第三个 strcat的升级版strncat

将参数2的字符串 前n个字符  连接 到参数1的尾部,‘\0’也会追加过去

成功返回新字符串的首地址,也就是目标字符串(参数1)的首地址

失败返回NULL

第四个 strcpy

把参数2所指向的字符串 复制到参数1 所指向的空间中,&apos;\0&apos;也会拷贝过去

也就是实现整体的复制

成功返回新字符串的首地址,也就是目标字符串(参数1)的首地址

失败返回NULL

注意目标字符串(参数1)的空间一定要够大

第五个 strcpy的升级版strncpy

把参数2所指向的字符串的前n个字符 复制到参数1 所指向的空间中

成功返回新字符串的首地址,也就是目标字符串(参数1)的首地址

失败返回NULL

第六个 strstr

在字符串1中查找字符串2出现的位置

成功返回字符串1第一次出现 字符串2 的地址

失败返回NULL

第七个 strchr

在参数1字符串中查找参数2 字符出现的位置

成功返回字符串1第一次出现 字符 的地址

失败返回NULL

第八个 strcmp

比较 参数1字符串 和 参数2字符串 是否一样(比较的是字符ASCII码大小)

返回值

相等(一样):0

大于:>0

小于:<0

第九个 strncmp

比较 参数1字符串 和 参数2字符串前n个 是否一样(比较的是字符ASCII码大小)

返回值

相等(一样):0

大于:>0

小于:<0

第十个 strtok

分解  参数1字符串 为一组字符串,参数2为分隔符

成功返回分割后字符串首地址

失败返回NULL

补充一个 sprintf

头文件是 #include <stdio.h>

类似printf,把数据格式化后,写入参数1的地址 (printf是把数据格式化后串口打印)

成功返回实际格式化的字符个数

失败返回- 1

strcat是复制的字符串

sprintf可以复制字符串,还可以是整数、浮点数、小数等。只要是printf的能打印的效果,都能使用sprintf得到。

总结下来就是

10个 string.h里的函数

1个   stdio.h里的函数

  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值