|
경완님.
문제가 발생하면 해당 문제에 대하여 자신이 할 수 있는 모든 방법을 동원하여 처리해 보는 것이 가장 좋은 방법입니다. 그렇게 해서 해결책을 찾으면 그 기쁨은 이루 말 할 수 없죠. 그러나, 그렇게 해도 않될 때에는 어쩔 수 없이 타인의 도움을 받아야 겠죠. (이건 제가 생각하는 프로그래머의 자세입니다.)
이전에 경완님이 올리신 소스코드로 미루어 짐작하면 마지막의 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 를 복사하는 방법이 없을까요..?
:
:
:
:
:
:
:
:
|