函数实现my_memcpy.

#include<stdio.h>

int my_memcmp(char const *a,char const *b,int n)
{
	int i=1;
	while(*a==*b)
	{
		i++;
		if(i>n)
			break;
		a++;
		b++;

	}
	if(*a<*b)
		return -1;
	else if(*a>*b)
		return 1;
	else
		return 0;
}

int main()
{
char *arr="abcd";
char *brr="abbe";
printf("%d\n",my_memcmp(arr,brr,3));
return 0;
}

时间: 2024-10-27 13:17:55

函数实现my_memcpy.的相关文章

实现memcpy和memmove函数

题目: 自己定义一个函数,实现my_memcpy和my_memmove函数. 题目分析: memcpy函数主要实现的是内存的拷贝,函数接受任意类型的参数,并且有拷贝个数的限制,函数与strcpy函数在功能上有相似点,也有不同点.memmove函数在memcpy函数的基础上解决了内存重叠的问题.下面是memcpy和memmove函数的实现: my_memmove函数: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include &l

C++模板--实现容器适配器

STL源码初接触 STL = Standard Template Library,直译过来是:标准模板库,是惠普实验室开发的一系列软件的统称.从根本上说,STL是一些"容器"的集合,这些"容器"有list,vector,set,map等,STL也是算法和其他一些组件的集合.这里的"容器"和算法的集合指的是世界上很多聪明人很多年的杰作.STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件.STL现在是C++的一部分,因此不用额外安装什么

不使用库函数、自己编写的(strlen、strcpy、strcmp、strcat、memcmp、memcpy、memmove)

//求字符串长度的函数int my_strlen(const char* pStr){assert(pStr != NULL);int length = 0;while (*pStr++ != '\0') {length++;}return length;}//字符串拷贝函数char* my_strcpy(char* strDest, const char* strSrc){assert(strDest != NULL && strSrc != NULL);char* pDest = st

strcpy函数的实现

大家一般觉得名不见经传strcpy函数实现不是非常难,流行的strcpy函数写法是: char *my_strcpy(char *dst,const char *src) { assert(dst != NULL); assert(src != NULL); char *ret = dst; while((* dst++ = * src++) != '\0') ; return ret; } 假设注意到: 1,检查指针有效性: 2,返回目的指针des: 3,源字符串的末尾 '\0' 须要拷贝.

字符串函数汇总2

memcpy 内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. 函数实现 void* my_memcpy(void *buf1,const void *buf2, int count) { assert(buf1); assert(buf2 );            void *ret=buf1; char *dest = (char*)buf1; char *src = (char*)buf2; while (

一些常用函数模拟实现

我们库函数中提供给我们很多函数,我们虽然不需要自己去实现这些函数,但是我认为自己亲自去实现一下这些函数对我们有很大的好处. 我们可以根据自己的想法实现这些函数的功能,然后再看一下库里面是怎么实现它们的,比较一下,看看函数的实现方式的异同之处,这样我们可以找出自己的不足之处,学习库函数的实现思维,帮助我们提升编程能力. 下面是一些函数的实现: strstr函数的实现: char *my_strstr(const char *str1, const char *str2) {assert(str1)

strcpy函数的实现【转】

转自:http://www.cnblogs.com/chenyg32/p/3739564.html 已知strcpy函数的原型是: char *strcpy(char *dst, const char *src); 实现strcpy函数 解释为什么要返回char * 假如考虑dst和src内存重叠的情况,strcpy该怎么实现 1.strcpy的实现代码 char * strcpy(char *dst,const char *src) //[1] { assert(dst != NULL &&am

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语言】 字符串的内存拷贝处理函数

这篇博文我主要是想写一下函数库中的memcpy函数, 对于字符串来说,我们运用字符串<string.h>中的str类别的函数,但是我们还有一些关于内存的拷贝函数.他们操作的对象是内存,然后可以接受任何类型的数据进行拷贝. 这个是<memory.h>里面的memcpy,然后我们一起查看一下MSDN看一看他的原型: void *memcpy(void *dest,const void *src,size_t count); 与strcpy不同的就是添加了第三个参数,确定操作的字节数,然