目录
- strncmp
- 函数原型
- 源码分析 版本PHP 5.6.40
- 1、Zend/zend_builtin_functions.c (内置函数)
- 2、Zend/zend_operators.c
- 3、memcmp 用法
strncmp
函数原型
源码分析 版本PHP 5.6.40
1、Zend/zend_builtin_functions.c (内置函数)
ZEND_FUNCTION(strncmp) { char *s1, *s2; int s1_len, s2_len; long len; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssl", &s1, &s1_len, &s2, &s2_len, &len) == FAILURE) { return; } if (len < 0) { zend_error(E_WARNING, "Length must be greater than or equal to 0"); RETURN_FALSE; } RETURN_LONG(zend_binary_strncmp(s1, s1_len, s2, s2_len, len)); }
2、Zend/zend_operators.c
ZEND_API int zend_binary_strncmp(const char *s1, uint len1, const char *s2, uint len2, uint length) /* {{{ */ { int retval; if (s1 == s2) { return 0; } retval = memcmp(s1, s2, MIN(length, MIN(len1, len2))); if (!retval) { return (MIN(length, len1) - MIN(length, len2)); } else { return retval; } }
3、memcmp 用法
以上就是php strncmp函数原型源码分析的详细内容,更多关于php strncmp源码分析的资料请关注其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)