以下是memcmp的Microsoft CRT实现:
int memcmp(const void* buf1,
const void* buf2,
size_t count)
{
if(!count)
return(0);
while(--count && *(char*)buf1 == *(char*)buf2 ) {
buf1 = (char*)buf1 + 1;
buf2 = (char*)buf2 + 1;
}
return(*((unsigned char*)buf1) - *((unsigned char*)buf2));
}
Run Code Online (Sandbox Code Playgroud)
它基本上执行逐字节比较.
我的问题分为两部分:
count < sizeof(int),然后逐字节比较为剩下的内容做什么?注意:我根本不使用CRT,所以无论如何我必须实现这个功能.我只是在寻找有关如何正确实现它的建议.