memcmp和strcmp函数的实现

来源:互联网 发布:宝宜威远程数据采集 编辑:程序博客网 时间:2024/05/17 04:24

阅读了前面几篇文章都知道mem系列函数和str系类函数两个主要区别是:mem系类函数不受数据类型限制,但需要指定字节数,而str系列函数指明操作字符串,并且需要null字符结束。

如memcmp和strcmp函数的实现,如下所示

int memcmp(const void *cs, const void *ct, unsigned long count){const unsigned char *su1, *su2;int res = 0;for (su1 = cs, su2 = ct; count > 0; ++su1, ++su2, count--) {if ((res = *su1 - *su2) != 0) {break;}}return res;}int strcmp(const char *cs,  const char *ct){signed char __res;while (1) {if ((__res = *cs - *ct++) != 0 || !*cs++) {break;}}return __res;}


原创粉丝点击