zoukankan      html  css  js  c++  java
  • string 之 strcpy函数

    更多干货请移步我的公众号「aCloudDeveloper」,专注技术干货分享,期待与你相遇。

    Author: bakari  Date: 2012/8/9

    近两年好多的IT公司喜欢拿一些库函数来考,string函数库当然是首选,除此之外,像qsort,STL里的函数也经常火。虽然这些函数咋一看很简单,但有一些细节问题还是很能说明问题,这些细节问题往往就是公司最看重的。吾将之整理作为总结和共享。

    下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。

    下面包括strcpy , strncpy函数

     1 /*******************************************************
     2  *  strcpy and strncpy
     3  *  !! Note: *desStr = '\0' Don't forget!
     4  *******************************************************/
     5 char * Mystrcpy(char *desStr, const char *srcStr){
     6     assert(NULL != desStr && NULL != srcStr);
     7     char *address = desStr;
     8 
     9     while( (*desStr ++ = *srcStr ++));  //此条语句与下面的功能一致(值得品味)
    10     //while( (*desStr ++ = *srcStr ++) != '\0');
    11     //while( (*srcStr ++ ) != '\0' ){
    12     //    *desStr ++ = *srcStr;
    13     //}
    14     //while( *srcStr )
    15     //    *desStr++ = *srcStr++;
    16     *desStr = '\0';
    17 
    18     return address;
    19 }
    20 
    21 char * Mystrncpy(char *desStr,const char *srcStr,size_t nCount){
    22     assert(NULL != desStr && NULL != srcStr && nCount <= strlen(srcStr));
    23     char *address = desStr;
    24 
    25     while( (nCount --) && (*desStr ++ = *srcStr ++) );
    26     //while(nCount --)
    27     //    *desStr ++ = *srcStr ++;
    28     *desStr = '\0';
    29 
    30     return address;
    31 }
    stay hungry stay foolish ----jobs 希望多多烧香!
  • 相关阅读:
    威尔逊定理  知识点
    费马小定理及推论 知识点
    勾股定理和勾股数
    hdu6441 Find Integer (费马大定理)
    费马大定理
    莫队算法 [国家集训队]小Z的袜子
    R49 A-D D图有向有环图
    #505 1&2 A-C 后面未完成
    stack 的一些用法
    bzoj 2844 albus就是要第一个出场 异或和出现次数 线性基
  • 原文地址:https://www.cnblogs.com/bakari/p/2630800.html
Copyright © 2011-2022 走看看