C语言memcmp():比较两块内存中数据的大小
memcmp() 是 C语言的一个标准库函数,定义在
memcmp() 用于比较两块内存区域的内容,不论存储的内容是字符串、整数还是其它类型的数据,该函数都会逐个字节进行比较。
memcmp() 函数的原型如下:
n:要比较的字节数。
【实例】下面是一个 C语言示例代码,演示了如何使用 memcmp() 函数:
<string.h>
头文件中。memcmp() 用于比较两块内存区域的内容,不论存储的内容是字符串、整数还是其它类型的数据,该函数都会逐个字节进行比较。
memcmp() 函数的原型如下:
int memcmp(const void *s1, const void *s2, size_t n);
参数
s1 和 s2:分别指向要比较的两块内存区域。n:要比较的字节数。
返回值
如果 s1 和 s2 的前 n 个字节完全相同,则返回 0;否则,返回一个非 0 数:- 比较两块内存中不匹配的第一个字节,如果 s1 中的值小于 s2 中的值,则返回负数(<0)。
- 比较两块内存中不匹配的第一个字节,如果 s1 中的值大于 s2 中的值,则返回正数(>0)。
【实例】下面是一个 C语言示例代码,演示了如何使用 memcmp() 函数:
#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello, World!"; char str2[] = "Hello, World!"; char str3[] = "Hello, C!"; // 比较相同的字符串 if (memcmp(str1, str2, strlen(str1)) == 0) { printf("str1 和 str2 相同。\n"); } // 比较不同的字符串 if (memcmp(str1, str3, strlen(str1)) != 0) { printf("str1 和 str3 不同。\n"); } return 0; }输出结果为:
str1 和 str2 相同。
str1 和 str3 不同。