题目:
编写程序实现函数strcat和strncat。
题目分析:
strcat的主要是将一个字符串连接到另一个字符串之后的位置,例如:将字符串“def”拷贝到字符串“abc”之后,得到新的字符串为“abcdef”。
strncat将一个字符串的几个字符连接到另一个字符串之后,可以限制连接的字符串数。
下面是自定义my_strcat的实现:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h> char *my_strcat(char *dst, char *str) { assert(dst); assert(str); char *p = dst; while (*dst) { dst++; } while (*dst++ = *str++) { ; } return p; } int main() { char dst[] = "abcdef"; char str[] = "abc"; my_strcat(dst, str); printf("%s\n", dst); system("pause"); return 0; }
下面是my_strncat的实现:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h> char *my_strncat(char *dst, char *str, int count) { assert(dst); assert(str); char *p = dst; while(*dst) { dst++; } while((count--) && (*str != ‘\0‘)) { *dst++ = *str++; } return p; } int main() { char dst[10] = "abc"; char str[] = "defg"; printf("请输出追加后的字符串:\n"); my_strncat(dst, str, 3); printf("%s\n", dst); system("pause"); return 0; }
本文出自 “无心的执着” 博客,转载请与作者联系!
原文:http://10740590.blog.51cto.com/10730590/1715755