> 백엔드 개발 > C++ > 본문

C 언어로 자신만의 memcpy() 함수를 작성하세요.

WBOY
풀어 주다: 2023-08-25 15:17:04
앞으로
1736명이 탐색했습니다.

C 언어로 자신만의 memcpy() 함수를 작성하세요.

여기에서는 C 언어로 memcpy() 함수를 구현하는 방법을 살펴보겠습니다. memcpy() 함수는 한 위치에서 다른 위치로 데이터 블록을 복사하는 데 사용됩니다. memcpy()의 구문은 다음과 같습니다. -

void * memcpy(void * dest, const void * srd, size_t num);
로그인 후 복사

자체 memcpy를 만들려면 주어진 주소를 char*로 타입 변환한 다음 소스에서 대상으로 바이트 단위로 데이터를 복사해야 합니다. 더 나은 아이디어를 얻으려면 다음 코드를 읽어보세요.

#include<stdio.h>
#include<string.h>
void custom_memcpy(void *dest, void *src, size_t n) {
   int i;
   //cast src and dest to char*
   char *src_char = (char *)src;
   char *dest_char = (char *)dest;
   for (i=0; i<n; i++)
      dest_char[i] = src_char[i]; //copy contents byte by byte
}
main() {
   char src[] = "Hello World";
   char dest[100];
   custom_memcpy(dest, src, strlen(src)+1);
   printf("The copied string is %s</p><p>", dest);
   int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90};
   int n = sizeof(arr)/sizeof(arr[0]);
   int dest_arr[n], i;
   custom_memcpy(dest_arr, arr, sizeof(arr));
   printf("The copied array is ");
   for (i=0; i<n; i++)
      printf("%d ", dest_arr[i]);
}
로그인 후 복사

출력

The copied string is Hello World
The copied array is 10 20 30 40 50 60 70 80 90
로그인 후 복사

위 내용은 C 언어로 자신만의 memcpy() 함수를 작성하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿