字符串处理函数大全(一)

bcmp
  原型:extern int bcmp(const void *s1, const void *s2, int n);
  
  用法:#include <string.h>
  
  功能:比较字符串s1和s2的前n个字节是否相等
  
  说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。
  
  举例:

      // bcmp.c
      
      #include <syslib.h>
      #include <string.h>

      main()
      {
        char *s1="Golden Global View";
        char *s2="Golden global view";;
        
        clrscr();        // clear screen
        if(!bcmp(s1,s2,7))
          printf("s1 equal to s2 in first 7 bytes");
        else
          printf("s1 not equal to s2 in first 7 bytes");

        getchar();
        clrscr();
        if(!bcmp(s1,s2,12))
          printf("s1 equal to s2 in first 12 bytes");
        else
          printf("s1 not equal to s2 in first 12 bytes");

        getchar();
        return 0;
      }
      
  相关函数:bcopy,bzero

bcopy
  原型:extern void bcopy(const void *src, void *dest, int n);
  
  用法:#include <string.h>
  
  功能:将字符串src的前n个字节复制到dest中
  
  说明:bcopy不检查字符串中的空字节NULL,函数没有返回值。
  
  举例:

      // bcopy.c
      
      #include <syslib.h>
      #include <string.h>

      main()
      {
        char *s="Golden Global View";
        char d[20];
        
        clrscr();        // clear screen
        bcopy(s,d,6);
        printf("s: %s/n",s);
        printf("d: %s/n",d);

        getchar();
        clrscr();
        s[13]=0;
        bcopy(s+7,d,11);  // bcopy ignore null in string
        printf("%s/n",s+7);
        for(i=0;i<11;i++)
          putchar(d[i]);

        getchar();
        return 0;
      }
      
  相关函数:bcmp,bzero
bzero
  原型:extern void bzero(void *s, int n);

  用法:#include <string.h>
  
  功能:置字节字符串s的前n个字节为零。
  
  说明:bzero无返回值。
  
  举例:

      // bzero.c
      
      #include <syslib.h>
      #include <string.h>

      main()
      {
        struct
        {
          int a;
          char s[5];
          float f;
        } tt;
        
        char s[20];
        
        bzero(&tt,sizeof(tt));  // struct initialization to zero
        bzero(s,20);
        
        clrscr();
        printf("Initail Success");

        getchar();
        return 0;
      }
      
  相关函数:bcmp,bcopy

memccpy
  原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count);

  用法:#include <string.h>
  
  功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。
  
  说明:返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。ch被复制。
  
  举例:

      // memccpy.c
      
      #include <syslib.h>
      #include <string.h>

      main()
      {
        char *s="Golden Global View";
        char d[20],*p;
        
        clrscr();
        
        p=memccpy(d,s,'x',strlen(s));
        if(p)
        {
          *p='/0';      // MUST Do This
          printf("Char found: %s./n",d);
        }
        else
          printf("Char not found./n");


        getchar();
        return 0;
      }
      
  相关函数:memcpy,strcpy

memchr
  原型:extern void *memchr(void *buf, char ch, unsigned count);

  用法:#include <string.h>
  
  功能:从buf所指内存区域的前count个字节查找字符ch。
  
  说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。
  
  举例:

      // memchr.c
      
      #include <syslib.h>
      #include <string.h>

      main()
      {
        char *s="Hello, Programmers!";
        char *p;
        
        clrscr();
        
        p=memchr(s,'P',strlen(s));
        if(p)
          printf("%s",p);
        else
          printf("Not Found!");

        getchar();
        return 0;
      }
      
  相关函数:memccpy,memmove,strcpy

memcmp
  原型:extern int memcmp(void *buf1, void *buf2, unsigned int count);
        
  用法:#include <string.h>
  
  功能:比较内存区域buf1和buf2的前count个字节。
  
  说明:
        当buf1<buf2时,返回值<0
        当buf1=buf2时,返回值=0
        当buf1>buf2时,返回值>0
  
  举例:

      // memcmp.c
      
      #include <syslib.h>
      #include <string.h>

      main()
      {
        char *s1="Hello, Programmers!";
        char *s2="Hello, programmers!";
        int r;
        
        clrscr();
        
        r=memcmp(s1,s2,strlen(s1));
        if(!r)
          printf("s1 and s2 are identical");
        else
        if(r<0)
          printf("s1 less than s2");
        else
          printf("s1 greater than s2");
        

        getchar();
        return 0;
      }
      
  相关函数:memicmp,strcmp
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值