C string memcmp() 函数
定义和用法
memcmp() 函数比较两块内存,并返回一个整数以指示哪一块更大。
进行比较时,从位置 0 开始,逐字节比较两块内存中相同位置的字节,直到其中一个字节不匹配或到达内存块的末尾。存在三种可能的情况:
- 如果到达内存块末尾时没有任何不匹配,则函数返回零。
- 在第一个不匹配处,如果第一块内存中的字节值更大,则函数返回一个正数。
- 在第一个不匹配处,如果第二块内存中的字节值更大,则函数返回一个负数。
memcmp() 函数定义在 <string.h> 头文件中。
实例
比较两块内存以查看哪一块更大:
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = memcmp(myStr1, myStr2, 4);
if (cmp > 0) {
printf("%s is greater than %s\n", myStr1, myStr2);
} else if (cmp < 0) {
printf("%s is greater than %s\n", myStr2, myStr1);
} else {
printf("%s is equal to %s\n", myStr1, myStr2);
}
语法
memcmp(void * pointer1, void * pointer2, size_t size);
size_t 数据类型是正整数。
参数
| 参数 | 描述 |
|---|---|
| pointer1 | 必需。指向要比较的内存块之一的指针。 |
| pointer2 | 必需。指向要比较的内存块之一的指针。 |
| size | 必需。要比较的字节数。 |
技术细节
| 返回: |
如果第一块内存更大,则返回一个正整数。 如果第二块内存更大,则返回一个负整数。 如果两块内存相等,则返回 0。 |
|---|
相关页面
教程:C 字符串
教程:C 字符串函数