第一种——C语言库函数strcmp()
int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较
- 如果返回值小于 0,则表示 str1 小于 str2。
- 如果返回值大于 0,则表示 str1 大于 str2。
- 如果返回值等于 0,则表示 str1 等于 str2。
这种方式直接使用函数将串口收到的数组 str1 与定义的数组 str2 进行比较,判断结果如果等于0则两数组相等。
第二种——C语言库函数memcmp()
int memcmp(const void *str1, const void *str2, size_t n)) 把存储区 str1 和存储区 str2 的前 n 个字节进行比较
- 如果返回值小于 0,则表示 str1 小于 str2。
- 如果返回值大于 0,则表示 str1 大于 str2。
- 如果返回值等于 0,则表示 str1 等于 str2。
这种方式是比较内存区域 str1 和 str2 的前 n 个字节,需要注意确定数组长度,如果定义数组长度大于待测数组,会继续判断后面的内存单元。
注意使用这两个函数需要调用头文件#include "string.h"