C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[17181] Re:memcpy 함수에 관해서..
^^ [] 2381 읽음    2002-04-03 19:04
경완님.
문제가 발생하면 해당 문제에 대하여 자신이 할 수 있는 모든 방법을 동원하여 처리해 보는 것이 가장 좋은 방법입니다. 그렇게 해서 해결책을 찾으면 그 기쁨은 이루 말 할 수 없죠. 그러나, 그렇게 해도 않될 때에는 어쩔 수 없이 타인의 도움을 받아야 겠죠. (이건 제가 생각하는 프로그래머의 자세입니다.)

이전에 경완님이 올리신 소스코드로 미루어 짐작하면 마지막의 count가 문제일 것입니다.
현재 경완님이 복사하고자 하는 것은 int형입니다. 따라서 메모리 상에서는 현재 32bit체제에서는 4bytes(32/8 = 4)입니다. 따라서 하나의 int형을 복사한다면 아래와 같이 하여야 합니다.
memcpy (buffer1, image, sizeof (int) * 1);  
6개의 int형을 복사하고자 한다면,
memcpy (buffer1, image, sizeof (int) * 6);
이런 식으로 하여야 합니다.



김경완 님이 쓰신 글 :
: //-----------------------------------------------------
: BYTE Buffer2[] ={0x01, 0x02, 0x03, 0x00, 0x04, 0x05};
:
: memcpy(Buffer1, Buffer2, size);
:
: //------------------------------------------------------
:
: Buffer1 에 0x01, 0x02, 0x03 까지만 복사가 됩니다.
: 0x00 을 만나면 null로 인식을 해서 메모리 복사를 끝냅니다.
:
: Buffer1에 0x01, 0x02, 0x03, 0x00, 0x04,0x05 를 복사하는 방법이 없을까요..?
:
:
:

:
:
:
:

+ -

관련 글 리스트
17169 memcpy 함수에 관해서.. 김경완 1294 2002/04/03
17206     Re:memcpy 함수에 관해서.. 아리랑 1307 2002/04/04
17181     Re:memcpy 함수에 관해서.. ^^ 2381 2002/04/03
17193         Re:Re:memcpy 함수에 관해서.. 김경완 1294 2002/04/04
17203             Re:Re:Re:memcpy 함수에 관해서.. ^^ 1438 2002/04/04
17174     Re:memcpy 함수에 관해서.. 방태윤 1664 2002/04/03
17191         Re:Re:memcpy 함수에 관해서.. 김경완 1368 2002/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.