|
금목암 님이 쓰신 글 :
: 이용태 님이 쓰신 글 :
: : 프로그램을 짜는 중.. memset()를 이용한 데이터 복사를 하고 있습니다.
: :
: : 예를 들면 다음과 같습니다.
: :
: : 다음과 같은 10개의 데이터를 갖고 있는 a[10]라는 배열이 있다고 해보죠.
: :
: : a[10]
: : ___________________
: : 0|1|2|3|4|5|6|7|8|9
: : -------------------
: :
: : 그리고 a[]보다 10배 큰 b[100]이 있다고 해보죠.
: :
: : a[]의 각 요소를 memset()를 이용하여 b[]에 다음과 같이 복사합니다.
: :
: : for(int i = 0; i < 10; i++)
: : memset(b, a[i], 10);
: :
: : 이렇게 한다면 b[]엔 다음과 같이 데이터가 들어가 있겠죠..
: :
: : b[200]
: : __________________________________________________________________________________________________
: : 0|0|0|0|0|0|0|0|0|0|1|1|1|1|1|1|1|1|1|1|1|----중간생략---8|8|8|8|8|8|8|8|8|8|9|9|9|9|9|9|9|9|9|9|
: : --------------------------------------------------------------------------------------------------
: :
: : 그런데... 이게 전체 memset()하는 횟수가 적을땐 상관이 없는데... memset()하는 횟수가 커지게 되면 시간이 많이 걸리게 되더군요..
: :
: : 만약 memset() 한번 하는 시간이 0.001초라 그러면... 2000번 하면... 2초가 걸리게 됩니다.
: :
: : 이렇게 되면 한번 작업 할때마다 2초씩 기달려야 하니... 대략 짜증이 납닌다.
:
: memset이 아니고 memccpy 쓰면 되겠네요
: :
: : memset()보다 더 빨리 복사할 수 있는 함수가 있을까요?
: :
: : 또는 획기적으로 속도를 올릴 수 있는 방법이 있으면 좀 알려주시면 정말로.. 정말로 감사하겠습니다..
: :
: : 부탁드립니다... (__)
: -----------------------------------------
: memset이 아니고 memccpy 쓰면 되겠네요
: 포인트로 복사하세요
|