2015-01-02 4 views
-2

는 여기 memmove를의 MSDN 문서를 읽어memmove를 (MSDN) - 빠른 갈색 여우/개

http://msdn.microsoft.com/en-us/library/aa246469%28v=vs.60%29.aspx

와 memmove를가 방어 적이기 어떻게 다른지 나는 그들의 예에서 알 수 없습니다. 차이점을 보여주는 것이지만 둘 다 같은 결과를줍니다. 도와주세요.

+0

그들이 단지 경우, 상기 소스 및 목적지 중첩 다르다. – Barmar

+0

예 Barmar,하지만 겹치는 예제에서는 차이가 없습니다. – CaTx

+0

부정적인 포인트를 주셔서 감사합니다. 제안 된 링크는 단순히 내 질문에 대답하지 않습니다. MSDN에 대한 기사가 아니라 함수 자체에 대한 내용을 묻습니다. – CaTx

답변

1

이것은 확장 된 주석으로 대답이 아닙니다. MSDN의 예는 두 개의 유사한 소스 문자열 인 "빠른 갈색 여우가 게으른 개로 점프합니다"와 "빠른 갈색 개가 게으른 여우 위로 뛰어 넘는다"라는 혼란스러운 예입니다. 내 MS Visual C는 소스와 대상이 겹칠 때 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ (?

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char str [] = "abcdefghijklmnopqrstuvwxyz"; 
    printf ("%s\n", str);  

    memcpy (str, str+1, 25); // copy down 
    printf ("%s\n", str);  

    memcpy (str+1, str, 25); // copy up 
    printf ("%s\n", str);  

    return 0; 
} 

프로그램 출력

abcdefghijklmnopqrstuvwxyz 
bcdefghijklmnopqrstuvwxyzz 
bbcdefghijklmnopqrstuvwxyz