bcmp

本文详细介绍了C语言中的内存比较函数bcmp()的用法、参数、返回值及注意事项,并提供了实例演示其如何比较内存块的前n个字节是否相等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件:#include <string.h>

bcmp() 比较内存(字符串)的前n个字节是否相等,其原型为:
    int bcmp(const void *s1, const void * s2, int n);

【参数】s1, s2 为需要比较的两块内存(或两个字符串),n 为要比较的长度。

【返回值】如果 s1, s2 的前 n 个字节相等或者 n 等于 0,则返回 0,否则返回非 0 值。

bcmp() 函数不检查NULL。

实际上,bcmp() 和 memcmp() 功能相同,用来比较内存块的前 n 个字节是否相等,但是 s1, s2 两个参数为指针,又很奇怪的位于 string.h 文件中,也可以用来比较字符串。

注意:bcmp() 不是标准函数,没有在ANSI中定义,笔者在VC6.0和MinGW5下编译没通过;据称Linux下的GCC支持,不过笔者没有亲测。鉴于此,还是使用 memcmp() 替代吧。

更多信息请查看: C语言bcopy()和memcpy()、bzero()和memset()、bcmp()和memcmp()几个函数的差别

勉为其难的举个例子吧:
   
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main ()
  4. {
  5. char *s1 = "Golden Global View";
  6. char *s2 = "Golden Global View";
  7.  
  8. if( !bcmp(s1, s2, 7) )
  9. printf("s1 equal to s2 in first 7 bytes");
  10. else
  11. printf("s1 not equal to s2 in first 7 bytes");
  12. return 0;
  13. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值