[C언어] 버퍼 (void *)를 줄이려면?
글쓴이: mandugukbap / 작성시간: 목, 2013/04/04 - 12:54오전
C언어 만져본지가 어언 10년이 넘어가다 보니 포인터 관련된게 전혀 기억이 안나는군요. 예전엔 이런게 별 문제가 없었던거 같은데 말이죠.
예를 들어 100바이트의 데이터가 담긴 void* buf 란 놈을 뒷 부분의 50바이트로 줄이고 뒷부분의 50바이트만 들어 있게 만들려고 하는데 이거 어떻게 하면 될까요? 즉, 앞의 50바이트를 잘라내어 버리려고 하는 겁니다.
감사합니다.
Forums:
버퍼는 변경되지 않고 시작점만 자주 변경된다면 전체
버퍼는 변경되지 않고 시작점만 자주 변경된다면 전체 버퍼를 가리키는 포인터 하나를 항상 유지한 채로 필요한 만큼 더한 포인터를 가져오면 되겠죠.
그게 아니라면 새로할당하고 복사하고 이전 버퍼는 삭제하는수밖에 없습니다.
대충 아래처럼 하면 될 거 같은데, print 해보면
대충 아래처럼 하면 될 거 같은데, print 해보면 버퍼의 뒷 부분이 잘려 나가는 거 같네요.
아, 제대로 되는군요. 다른 부분에 문제가 있었네요.
아, 제대로 되는군요. 다른 부분에 문제가 있었네요. 답변 감사 드립니다.
댓글 달기