| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:一些字符串处理函数(可能没有盖茨写的好)
取消只看楼主 加入收藏
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
结帖率:100%
收藏
 问题点数:0 回复次数:0 
一些字符串处理函数(可能没有盖茨写的好)

/****************************************************************************/ /* strlen */ /****************************************************************************/ size_t strlen(const char *s) { const char *r = s - 1;

while (*++r); return r - s; }

/****************************************************************************/ /* strcpy */ /****************************************************************************/ char *strcpy(char *s1, const char *s2) { char *result = s1;

while (*s1++ = *s2++); return result; }

/****************************************************************************/ /* strncpy */ /****************************************************************************/ char *strncpy(char *s1, const char *s2, size_t n) { char *result = s1;

if (n == 0) return result; while ((*s1++ = *s2++) && --n != 0); if (n > 1) { --n; do *s1++ = 0; while (--n); } return result; }

/****************************************************************************/ /* strcat */ /****************************************************************************/ char *strcat(char *s1, const char *s2) { char *result = s1;

while (*s1++); --s1; while (*s1++ = *s2++); return result; }

/****************************************************************************/ /* strncat */ /****************************************************************************/ char *strncat(char *s1, const char *s2, size_t n) { char *result = s1;

while (*s1++); --s1; while (n-- != 0) if (!(*s1++ = *s2++)) return result; *s1 = 0; return result; }

/****************************************************************************/ /* strchr */ /****************************************************************************/ char *strchr(const char *s, int c) { do if (*s == c) return (char *)s; while (*s++); return NULL; }

/****************************************************************************/ /* strrchr */ /****************************************************************************/ char *strrchr(const char *s, int c) { char *result = NULL; do if (*s == c) result = (char *)s; while (*s++); return(result); }

/****************************************************************************/ /* memchr */ /****************************************************************************/ void *memchr(const void *s, int c, size_t n) { const unsigned char *st = (unsigned char *)s; unsigned char ch = c;

while (n-- != 0) if (*st++ == ch) { return (void *)--st; } return NULL; }

/****************************************************************************/ /* memset */ /****************************************************************************/ void *memset(void *s, int c, size_t n) { unsigned char *st = (unsigned char *)s; unsigned char ch = c;

while (n-- > 0) *st++ = ch; return s; }

搜索更多相关主题的帖子: 盖茨 函数 字符 
2005-03-26 15:51
快速回复:一些字符串处理函数(可能没有盖茨写的好)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011404 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved