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 字符串函数