现在的位置: 首页 > 综合 > 正文

strcmp函数和strcpy函数

2013年10月19日 ⁄ 综合 ⁄ 共 992字 ⁄ 字号 评论关闭
strcmp
 
  原型:extern int strcmp(char *s1,char * s2);
        
  用法:#include <string.h>
  
  功能:比较字符串s1和s2。
  
  说明:
        当s1<s2时,返回值<0
        当s1=s2时,返回值=0
        当s1>s2时,返回值>0
  
实际上,字符串的比较是比较字符串中各对字符的ASCII码。
首先比较两个串的第一个字符,若不相等,则停止比较并得出大于或小于的结果;
如果相等就接着 比较第二个字符然后第三个字符等等。如果两上字符串前面的字符一直相等,像"abcd"和"abcde"   那样,   
前四个字符都一样,   然后比较第 五个字符,   前一个字符串"abcd"只剩下结束符'/0',
后一个字符串"abcde"剩下'e','/0'的ASCII码小于'e'的ASCII 码,所以得出了结果。
因此无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符'/0'为止,就能得出结果。  举例:

      // strcmp.c
      
      #include <stdlib.h>
      #include <stdio.h>
      #include <string.h>

      int main()
      {
        char *s1="Hello, World!";
        char *s2="Hello, BeiJing!";
        int r;
        
        r=strcmp(s1,s2);
        if(!r)
          printf("s1 and s2 are identical");
        else
        if(r<0)
          printf("s1 less than s2");
        else
          printf("s1 greater than s2");
       
        return EXIT_SUCCESS;
      }
stpcpy
 
  原型:extern char *stpcpy(char *dest,char *src);
        
  用法:#include <string.h>
  
  功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
  
  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
        返回指向dest结尾处字符(NULL)的指针。
  
  举例:


      // stpcpy.c
      
      #include <stdlib.h>
      #include <stdio.h>
      #include <string.h>

      int main()
      {
        char *s="Hello, World!";
        char a[20];
        
        
        strcpy(a,s);
        printf("%s",a);
 
        return EXIT_SUCCESS;
      }
【上篇】
【下篇】

抱歉!评论已关闭.