一、memcmp() 简介
1. 函数原型
int memcmp(const void *str1, const void *str2, size_t n));
2. 参数
- str1– 指向内存块的指针。
- str2– 指向内存块的指针。
- n– 要被比较的字节数
3. 功能
把存储区 str1 和存储区 str2 的前 n 个字节进行比较,主要用来比较字符串的。
4. 头文件
#include <string.h>
5. 返回值
- 自左向右逐个按照ASCII码值进行比较n个字符,直到出现不同的字符止。
- 如果返回值 < 0,则表示 str1 小于 str2。
- 如果返回值 > 0,则表示 str2 小于 str1。
- 如果返回值 = 0,则表示 str1 等于 str2。
二、memcmp() 用法
memcmp函数主要是用来比较字符串。
具体代码如下:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *a = "English";
char *b = "ENGLISH";
char *c = "english";
char *d = "English";
printf("memcmp(a, b):%d\n", memcmp(a, b, 7));//字符串之间的比较
printf("memcmp(a, c):%d\n", memcmp(a, c, 7));
printf("memcmp(a, d):%d\n", memcmp(a, d, 7));
printf("memcmp(a, \"English\"):%d\n", memcmp(a, "English", 7));
printf("memcmp(&a[2], \"g\"):%d\n", memcmp(&a[2], "g", 1)); //单个字符的比较
return 0;
}
运行结果如下:
memcmp(a, b):1
memcmp(a, c):-1
memcmp(a, d):0
memcmp(a, "English"):0
memcmp(&a[2], "g"):0