【c语言】不用库函数实现memcpy

//不用库函数实现memcpy

#include <stdio.h>
#include <assert.h>

void * my_memcpy ( void *dst, void const *src, int count )
{
	void * ret = dst;
	assert( ( dst != NULL ) && ( src != NULL ));
	while( count-- )
	{
		*( ( char * )dst ) =  *( ( char * )src );
		( ( char * )dst )++;
		( ( char * )src )++;
	}
	*( ( char * )dst ) = '\0';
	return ret;

}

int main()
{
	char dst[] = "shiqinianchan";
	char *src = "dandanwa";
	my_memcpy( dst, src, 8);
	printf("内存拷贝后的结果是:%s\n",dst);

	return 0;
}

时间: 2024-10-03 04:53:28

【c语言】不用库函数实现memcpy的相关文章

【c语言】不用库函数实现strcmp

// 不用库函数实现strcmp #include <stdio.h> #include <assert.h> int my_strcmp( char const *p,char const *q ) { assert( ( *p != NULL ) && ( *q != NULL ) ); while( *p == *q ) { if( *p == '\0') { return 0; } p++; q++; } if( *p > *q ) { return

C语言中库函数strstr的实现

在C语言中库函数strstr()函数表示在一个字符串str1中查找另一个字符串str2,如果查到则返回str2在str1中首次出现的位置,如果找不到则返回null. char* strstr(char* str,char* s){ int n; if(*s != '\0'){ while(*str){ for(n=0;(*str+n)==(*s+n);n++){ if(!*(s+n+1) == '\0'){ return (char*) str; } } str++; } return NULL

删除 C 风格字符串中间的 &#39;*&#39;(不用库函数)

char* removeMiddleStar(char *str) { if (!str) return str; char *p = str; for(; *p == '*'; ++p); char *q = p; while(*++q != '\0'); while(*--q == '*'); for (char *k = p; *k != '\0'; ++k) if ((k < q && *k != '*') || k >= q) *p++ = *k; *p = '\0'

对c语言系统库函数、堆排序、希尔排序、折半插入排序、快速排序消耗时间的比较

#include <stdio.h> #include <time.h> #define N 100000 /*库比较函数:qsort(int *base,int n,int struct_size,int (*compare)(const void *,const void *))中的比较函数*/ int compare(const void *first, const void *second) { if (*(int *)first > *(int *)second)/

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

//模拟实现memcpy库函数 #include <stdio.h> #include <string.h> void * my_memcpy(void * dst, const void * src, int count) { void *ret = dst; while (count--) { *(char *)dst = *(char *)src; dst=(char *)dst+1; src=(char *)src+1; } return ret; } int main()

C++调用C语言的库函数

在项目中,使用C语言编写了一个socket后台程序tkcofferd,并且为方便客户端的使用,提供了动态库,其中包含socket接口. 现在的需求是使用qt做一个前端界面,用来展示tkcofferd的socket接口功能,用于测试目的. qt中使用c++语言编写,如果需要调用tkcofferd的socket接口(由C语言编写),需要指明函数导出方式,详述如下: 转自http://linhs.blog.51cto.com/370259/140927 C++调用C的库函数时,如果头文件定义得不恰当,

ubuntu 安装 c语言的库函数man手册

安装 1.C语言库函数基本的帮助文档 sudo apt-get install manpages sudo apt-get install manpages-de sudo apt-get install manpages-de-dev sudo apt-get install manpages-dev 2.POSIX函数帮助文档 sudo apt-get install manpages-posix sudo apt-get install manpages-posix-dev 3.内核函数

c语言 模拟 库函数 strstr()函数

//模拟 库函数  strstr()函数 //从父字符串(较长)找到 完全相同子字符串(较短): //返回相同字符串在父字符串中的首字符的地址: #include<stdio.h> char * my_strstr(char arr[],char arr1[]) { char *p1=NULL,*p2=NULL,*p=NULL; int i = 0,j = 0,k=0,m=0; p1 =&arr[0]; p2 = &arr1[0]; while (1) { if (arr1[0

C语言常用库函数总结

1.存储分配 2.随机数生成 3.数字转换 4.环境通信 5.搜索与排序 6.整型算术 7.多字节.宽字符和字符串转换 8.时间与日期 9.区域设置 10.其它 1.存储分配 void* malloc(size_t size); void* calloc(size_t elt_count, size_t elt_size); void* realloc(size_t *ptr, size_t size); void free(void *ptr); malloc函数分配足够大的内存区域长度(用s