模拟实现strcat

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
char*my_strcat(char*dest, const char*src)
{
assert(dest!=NULL);
assert(src);
char*ret = dest;
while (*dest)
{
dest++;
}
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char *p = "bit";
char arr[20] = "hello";
printf("%s\n", my_strcat(arr, p));
system("pause");
return 0;
}

结果:

hellobit

时间: 2024-10-12 11:51:34

模拟实现strcat的相关文章

C语言::模拟实现strcat函数

题目要求 编写一个C语言程序模拟实现strcat函数. (我们不妨先模拟实现一下strcat函数,然后再对照一下string.h库函数中strcat函数代码的实现,与大师肩并肩.) 算法分析 strcat函数功能:将两个字符串连接起来,最终返回连接后字符串的首地址. strcat函数原型:char *strcat(char *dest,const char *src); 我们清楚地了解了strcat函数功能和原型之后,就很容易分析出算法... 算法总结 第一步:将dest指向的内容循环遍历至'\

模拟实现strcat和strncat

今天我们模拟实现一下strcat和strncat这两个函数. 首先我们先了解一下strcat这个函数,它的意思是将第二个字符串连接到第一个字符串的末尾.我们先看下函数原型: char *strcat(char *dest, char *src) 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.下面我们来看一下程序: #include <stdio.h> #include <assert.h> char *my_strcat (char *des

C语言:模拟实现strcat

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strcat(char *dest, char *src) {     assert(dest);     assert(src);     char *ret = src;     while (*src)     {         src++;     }     wh

用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove

1.模拟实现strcpy #include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h> char *my_strcpy(char *dst, const char *src) { assert(dst != NULL); assert(src != NULL); char *ret = dst; while ((*dst++ = *src++) != '\0') ; re

部分函数功能的实现

1:strcpy的实现 函数功能:把从src地址处开始的字符串拷贝到以dest为开始地址的空间里, 其中包含src字符串结尾处的'\0'. 代码实现: #include<stdio.h>//模拟实现strcpy#include<assert.h>void my_strcpy(char *dest,  const char *src)/*函数不需要返回*/{    assert(dest); assert(src); while(*src)/*把src的字符从前到后往dest里拷贝*

C语言08字符串 &amp; 预处理 &amp; 结构体

项目开发中字符串模型建立 strstr的while dowhile模型 //int cltClient_rev(void *handle, unsigned char *buf, int *buflen) //不要相信别人给你传送的内存地址是可用的 int getCout(char *str, char *substr, int *count) { int rv = 0; char *p = str; int ncout = 0; if (str==NULL || substr== NULL |

字符串拷贝和拼接

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> //1.一个数组中只有两个数字是出现一次, //其他所有数字都出现了两次. //找出这两个数字,编程实现. void print(int arr[],int length){ int i = 0; int j = 0; for (i = 0; i < length; i++){ for (j =

C语言中模拟实现strcpy,strstr,strcat函数

在C中,要模拟实现这几个库函数,是对指针的传参与函数的调用的考察,代码如下,仅供参考 strcpy函数: #include <assert.h> char* my_strcpy(char* dest, const char* src) { assert(dest);//断言指针的有效性 assert(src); char*pa = dest; while (*dest++ = *src++) ; return pa; } strstr函数: int my_strstr(const char*s

【C语言】模拟实现库函数strcat函数

//模拟实现库函数strcat函数 #include <stdio.h> #include <string.h> #include <assert.h> char * my_strcat(char *dst, const char *src) { char *start = dst; int len_dst = strlen(dst); dst+=len_dst; while (*dst++ = *src++) { ; } return start; } int mai