strcat源代码汇总
来源:互联网 发布:java负数转正数 编辑:程序博客网 时间:2024/06/07 15:33
1. ibc(Linux下的ANSI C的函数库)
char * strcat(char * dest, const char * src){ char *tmp = dest; while (*dest) dest++; while ((*dest++ = *src++) != '\0') ; return tmp;}
2. 微软
char* strcat ( char * dst , const char * src ){char * cp = dst;while( *cp )cp++; /* find end of dst */while( *cp++ = *src++ ) ; /* Copy src to end of dst */return( dst ); /* return dst */}
3. GNU C Library对这个函数的实现如下:
char * strcat (char *dest, const char *src) { //通过strcpy来实现strcat函数 strcpy (dest + strlen (dest), src); return dest; }
char * strcat(char *s, const char *append) { //将s所指向的字符串的首地址保存下来,以便使用 char *save = s; //将s所指向的字符串的首指针移至串尾处,s指针指向的字符元素为'\0' for (; *s; ++s); //将append所指的字符串的元素复制到s所指向的字符串尾部,直至遇到'\0' while ((*s++ = *append++) != '\0'); //返回追加后的字符串首地址 return(save); }
5. 网上实现:
#include <assert.h>char *strcat (char * dst, const char * src){assert(NULL != dst && NULL != src); // 源码里没有断言检测 char * cp = dst; while( *cp ) cp++; /* find end of dst */ while( *cp++ = *src++ ) ; /* Copy src to end of dst */ return( dst ); /* return dst */}
写成下面这样或许好理解一点。
char *strcat (char * dst, const char * src){assert(NULL != dst && NULL != src); // 源码里没有断言检测 char * cp = dst; while( '\0' != *cp ) cp++; /* find end of dst */ while( '\0' != (*cp++ = *src++) ) ; /* Copy src to end of dst */ return( dst ); /* return dst */}
0 0
- strcat源代码汇总
- strcat源代码汇总
- strcat ( )【C语言库函数源代码】
- strcpy,strcat和strcmp的实现源代码
- strcpy,strcat和strcmp的实现源代码
- strcat strcpy 源代码,用指针去实现
- strcat
- strcat
- strcat
- strcat
- strcat()
- strcat
- strcat
- strcat
- strcat
- strcat
- strcat
- strcat
- php redis插件安装
- 第五节 LCD12864显示
- Eclipse中Maven WEB工程tomcat调试
- redis安装
- 关于pear mail的发送中文邮件乱码可以参考
- strcat源代码汇总
- 快速排序分析
- php xdebug配置
- 华为机试——字符串字母转换(二)
- WebX实践指南_请求处理(一)
- Face Alignment by Coarse-to-Fine Shape Searching
- j2ee常用知识
- apache网站根目录修改失败原因
- Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令