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

//模拟实现库函数srtcpy函数
#include <stdio.h>
#include <assert.h>
char * my_strcpy(char *dst, const char *src)
{
	char *start = dst;
	assert(dst);
	assert(src);
	while (*dst++ = *src++)
	{
		;
	}
	return start;
}
int main()
{
	char a[20];
	char *p = "abcdef";
	printf("%s\n", my_strcpy(a, p));
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 00:13:46

【C语言】模拟实现库函数srtcpy函数的相关文章

【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

C语言模拟实现memcpy,memmove函数

这里memcpy与memmove函数的模拟实现,需要用到空指针来传递参数,之后强制类型转换为char型,用size_t这个宏接受偏移量进行偏移,模拟实现如下: memcpy函数: void* my_memcpy(void*dst,const void*src ,size_t count) { assert(dst); assert(src); void* ret = dst; while (count--) { *(char*)dst = *(char*)src; dst = (char*)ds

关于c语言模拟c++的多态

关于c++多态,个人认为就是父类调用子类的方法,c++多态的实现主要通过虚函数实现,如果类中含有虚函数,就会出现虚函数表,具体c++多态可以参考<深度探索c++对象模型> c语言模拟多态主要通过函数指针实现,可以参考<Object Orientated Programming in ANSI-C> //shape.h #ifndef __SHAPE_H #define __SHAPE_H #include <stdio.h> #include <stdlib.h&

【c语言】模拟实现库函数的atof函数

// 模拟实现库函数的atof函数 #include <stdio.h> #include <string.h> #include <assert.h> #include <ctype.h> double my_atof(char const *p) { double ret = 0; int flag = 1; int count = 0; assert(p != NULL); while (isspace(*p)) { p++; } while (*p)

【c语言】 模拟实现库函数的atoi函数

// 模拟实现库函数的atoi函数 #include <stdio.h> #include <string.h> #include <assert.h> #include <ctype.h> int my_atoi(char const *p) { int ret = 0; int a = 0; int flag = 1; assert(p != NULL); while (isspace(*p)) { p++; } while (*p) { if (*p

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

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

【面试题】C语言:模拟实现内存放置函数memset()

模拟实现内存放置函数memset() 我们查看库函数可知,函数原型为: void * __cdecl memset ( void *dst, int val, size_t count),我们常用于将数组arr向后几个字节初始化置为0,而并不怎么用于置为其他元素,如1.这是因为: val = 1,是int型,将它赋给char型dest,则只把低八位赋给dest,下次再接着循环,每次都只把一个字节长度的1赋给dest.如此重复count次,结束.在输出过程中,而arr是int型,一个int型是4个

[C语言】模拟实现库函数strstr,查找子字符串

//模拟实现库函数strstr,查找子字符串 #include <stdio.h> #include <assert.h> char * my_strstr( char *dst, const char * src) { assert(dst); assert(src); int i, j, k; for (i = 0; dst[i] != '\0'; i++) { for (j = i, k = 0; src[k] != '\0'&&dst[j] == src[k

语言模拟ATM自动取款机系统

C语言实验报告       题目名称:C语言模拟ATM自动取款机系统 C语言模拟实现ATM自动取款机功能:输入密码,余额查询,取款,存款,转账,修改密码,退出功能: 代码实现的功能: 账号及密码输入:用户输入密码,才能进入. 登陆成功界面:共有六个选项,查询余额.取款.存款.转账,修改密码,退出分别对应1,2,3,4,5,6选项,若序号输入不正确会予以提示. 选定1后,进入查询余额界面: 选定2后,进入取款界面: 选定3后,进入存款界面: 选定4后,修改密码,选定5,进入转账:选定6,退出界面: