strcpy函数用法详细解释和其相关问题

char *strcpy(char *dest,char *src);
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
src字符串尾的字符串结束标识符'/0'也会被复制过去,复制完成后s1中的内容会被覆盖掉

  1. strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。 
  2. sizeof是个运算符,它的结果是字符串在内存中的所占字节大小,它要把/0算进去的。 
  3.  
  4.  
  5.  
  6. strcpy函数原型1 
  7. char * strcpy(char *a, const char *b)    //注意要声明const 
  8. {  
  9.  
  10.       assert((strDest!=NULL) && (strSrc !=NULL)); //断言两个为空则不用复制,直接中止  
  11.  
  12.  
  13.       while((*(a++)=*(b++))!=0); 
  14.  
  15.  
  16.  
  17.       return a; 
  18.  
  19.  
  20. strcpy函数原型2 
  21. char *strcpy(char *strDest, const char *strSrc);//strDest为目标,strSrc为源 
  22.     assert((strDest!=NULL) && (strSrc !=NULL)); //如果两个为空则不用复制,直接中止  
  23.     char *address = strDest;      //用address指向strDest开始地址          
  24.     while( (*strDest++ = * strSrc++) != ‘/0’ ) //复制,直到源串结束;   
  25.     return address ;   //返回strDest开始地址                        
  1. 完美的strlen版本: 
  2.  
  3. int strlen(const char *str) 
  4.    assert(str != NULL); //判断字符串非NULL 
  5.    int len; 
  6.    while((*str++)!= '/0'
  7.    { 
  8.         len++; 
  9.    } 
  10.     return len; 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值