C语言 实现一个内存复制函数,可以将指定内存地址复制指定的长度到另一个内存地址。求看着别太复杂的

Python014

C语言 实现一个内存复制函数,可以将指定内存地址复制指定的长度到另一个内存地址。求看着别太复杂的,第1张

你需要的这个函数,C语言本来就有:memcpy

void *memcpy(void *dest, const void *src, size_t n)

函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。

举个例子:将s中的字符串复制到字符数组d中。

#include<stdio.h> 

#include<string.h> 

int main() 

   char*s="GoldenGlobalView" 

   chard[20] 

   memcpy(d,s,(strlen(s)+1)) 

   printf("%s",d) 

   getchar() 

   return0 

}

memcpy

语法:

#include <string.h>

void *memcpy( void *to, const void *from, size_t count )

功能:函数从from中复制count 个字符到to中,并返回to指针。 如果to 和 from 重叠,则函数行为不确定。

memmove

语法:

#include <string.h>

void *memmove( void *to, const void *from, size_t count )

功能: 与mencpy相同,不同的是当to 和 from 重叠,函数正常仍能工作。

#include<stdio.h>

#include<stdlib.h>

int main(int argc, char *argv[])

{

// char s1[100],s2[100]

FILE *p1,*p2

char ch

if(argc!=3)

{

printf("ming ling cuowu!")

exit(1)

}

if(argc==3)

{

p1=fopen(argv[1],"r")

p2=fopen(argv[2],"w")

if(p1==NULL||p2==NULL)

{

printf("wenjian bu cunzai!")

exit(1)

}

ch=fgetc(p1)

while(ch!=EOF)

{

fputc(ch,p2)

ch=fgetc(p1)

}

printf("kaobei chenggong!")

}

return 0

}

要用命令行的模式执行程序

可以加我百度