memcmp()函数用法
时间: 2023-10-24 19:06:57 浏览: 92
memcmp()函数是C标准库中的一个函数,用于比较两个内存区域的内容是否相同。
函数原型如下:
```c
int memcmp(const void *s1, const void *s2, size_t n);
```
参数说明:
- `s1`:指向要比较的第一个内存区域的指针。
- `s2`:指向要比较的第二个内存区域的指针。
- `n`:要比较的字节数。
函数返回值:
- 如果两个内存区域的内容相同,返回值为0。
- 如果两个内存区域的内容不同,返回值为不相同字节的差值(s1[i] - s2[i])。
memcmp()函数按字节逐个比较两个内存区域的内容。如果两个内存区域在比较的字节数范围内完全相同,则返回0。如果遇到不相同的字节,则返回不相同字节的差值。
下面是一个使用memcmp()函数的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = memcmp(str1, str2, strlen(str1));
if (result == 0) {
printf("The memory areas are equal.\n");
} else if (result > 0) {
printf("The first byte that differs is greater in str1.\n");
} else {
printf("The first byte that differs is greater in str2.\n");
}
return 0;
}
```
输出结果将根据比较的结果而不同。在上面的示例中,由于两个字符串不相同,所以输出结果为"The first byte that differs is greater in str1."。
阅读全文