我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 几个string函数的源码 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ rice /rais/ n. 稻米,米饭 ]


几个string函数的源码

本帖被 zhd32 执行提前操作(2007-11-26)
从glibc-2.7选出来的
部分语法可能比较古老
但是还是有些参考价值的

strcpy
Copy code
/* Copy SRC to DEST.  */
char *
__stpcpy (dest, src)
    char *dest;
    const char *src;
{
  register char *d = dest;
  register const char *s = src;

  do
    *d++ = *s;
  while (*s++ != '\0');

  return d - 1;
}
顶端 Posted: 2007-11-19 19:23 | [楼 主]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ mass /mæs/ n. (大的)团,块,群,大量,众多,(pl.)群众,集团 ]


strcat
Copy code
/* Append SRC on the end of DEST.  */
char *
strcat (dest, src)
    char *dest;
    const char *src;
{
  char *s1 = dest;
  const char *s2 = src;
  reg_char c;

  /* Find the end of the string.  */
  do
    c = *s1++;
  while (c != '\0');

  /* Make S1 point before the next character, so we can increment
    it while memory is read (wins on pipelined cpus).  */
  s1 -= 2;

  do
    {
      c = *s2++;
      *++s1 = c;
    }
  while (c != '\0');

  return dest;
}
顶端 Posted: 2007-11-19 19:24 | [1 楼]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ inch /int/ n. 英寸,少许,少量 ]


strtok
Copy code
/* Parse S into tokens separated by characters in DELIM.
  If S is NULL, the last string strtok() was called with is
  used.  For example:
    char s[] = "-abc-=-def";
    x = strtok(s, "-");        // x = "abc"
    x = strtok(NULL, "-=");        // x = "def"
    x = strtok(NULL, "=");        // x = NULL
        // s = "abc\0=-def\0"
*/
char *
strtok (s, delim)
    char *s;
    const char *delim;
{
  char *token;

  if (s == NULL)
    s = olds;

  /* Scan leading delimiters.  */
  s += strspn (s, delim);
  if (*s == '\0')
    {
      olds = s;
      return NULL;
    }

  /* Find the end of the token.  */
  token = s;
  s = strpbrk (token, delim);
  if (s == NULL)
    /* This token finishes the string.  */
    olds = __rawmemchr (token, '\0');
  else
    {
      /* Terminate the token and make OLDS point past it.  */
      *s = '\0';
      olds = s + 1;
    }
  return token;
}
顶端 Posted: 2007-11-19 19:26 | [2 楼]
qiangsuper



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 492
威望: 0
浮云: 1106
在线等级:
注册时间: 2006-10-22
最后登陆: 2008-06-29

5come5帮你背单词 [ introduction /intrə'dΛkən/ a. 介绍,引进,传入,绪论,导言 ]


多谢楼主。
顶端 Posted: 2007-11-20 22:57 | [3 楼]
william86



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 910
威望: 0
浮云: 1105
在线等级:
注册时间: 2007-09-26
最后登陆: 2009-03-11

5come5帮你背单词 [ ethnic /'Zθnik/ a. 种族的,人种的 ]


非常感谢了,用处挺大的!
以后会用到!
顶端 Posted: 2007-11-25 15:11 | [4 楼]
qiangsuper



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 492
威望: 0
浮云: 1106
在线等级:
注册时间: 2006-10-22
最后登陆: 2008-06-29

5come5帮你背单词 [ crude /kru:d/ a. 粗糙的;天然的;粗鲁的;n. 原材料,天然物质 ]


有研究的价值,所以大家尽量用开源软件吧.
顶端 Posted: 2007-11-26 08:32 | [5 楼]
abcd0106





性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1093
威望: 0
浮云: 1049
在线等级:
注册时间: 2005-10-08
最后登陆: 2009-04-04

5come5帮你背单词 [ rotate /rəu'teit/ v. (使)旋转,(使)轮流,(使)循环 ]


库函数写得真精致啊
顶端 Posted: 2007-11-26 10:52 | [6 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.014754(s) query 7, Time now is:12-12 07:28, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号