C/C++의 memcpy()

C 및 C++의 memcpy() 함수는 한 위치에서 다른 위치로 메모리 블록을 복사하는 데 사용됩니다. 다른 복사 기능과 달리 밈피 함수는 저장된 데이터 유형에 관계없이 한 메모리 위치에서 다른 메모리 위치로 지정된 바이트 수를 복사합니다.

에서 선언됩니다. 헤더 파일. C++에서는 내부에도 정의되어 있습니다. 헤더 파일.

memcpy의 구문

memcpy 함수는 다음과 같이 선언됩니다.

void * memcpy (void * to , const void * from , size_t numBytes ); 

매개변수

    to : 복사된 데이터가 저장될 메모리 위치에 대한 포인터입니다. from : 데이터가 복사될 메모리 위치에 대한 포인터입니다. numBytes : 복사할 바이트 수입니다.

반환 값

  • 이 함수는 데이터가 복사된 메모리 위치에 대한 포인터를 반환합니다.

memcpy의 예

다음은 memcpy()의 작동을 보여주는 C 프로그램입니다.




// C program to demonstrate working of memcpy> #include> #include> int> main()> {> > char> str1[] => 'Geeks'> ;> > char> str2[] => 'Quiz'> ;> > puts> (> 'str1 before memcpy '> );> > puts> (str1);> > // Copies contents of str2 to str1> > memcpy> (str1, str2,> sizeof> (str2));> > puts> (> ' str1 after memcpy '> );> > puts> (str1);> > return> 0;> }>

산출

str1 before memcpy Geeks str1 after memcpy Quiz 

memcpy()에 대한 중요 사항

  1. memcpy()는 오버플로나 을 확인하지 않습니다.
  2. memcpy()는 소스 주소와 대상 주소가 겹칠 때 정의되지 않은 동작을 발생시킵니다.

메모 : 메모무브() 중첩을 잘 처리하는 또 다른 라이브러리 함수입니다.

관련 기사

  • 자신만의 memcpy() 및 memmove() 작성

마음에 드실지도 몰라요