2012-09-26 3 views
0

한 문자 버퍼에서 다른 문자 버퍼로 내용을 가져 오는 방법은 무엇입니까? 예를 들어 나는문자 배열의 내용을 다른 문자로 복사

char buffer[SMALLVALUE]; 
char new_buffer[BIGGERVALUE]; 

내가 new_bufferbuffer의 내용을 복사 할 수 있습니다. 이 작업을 수행하는 가장 짧은 방법은 무엇입니까?

답변

7
#include <string.h> 

memcpy(new_buffer, buffer, sizeof buffer); 
+0

자, 이제 이것으로 new_buffer에 내용이 들어 있다고 가정 해 봅니다. 그러면 오래된 버퍼가 더 많은 내용을 가져오고 다시 복사해야합니다. 'memcpy'는 정상적인 문자열 연결처럼 작동합니까? –

+0

void * memcpy (void * dest, const void * src, size_t n); memcpy() 함수는 n 바이트를 메모리 영역 src에서 메모리 영역 dest로 복사합니다. 메모리 영역이 겹쳐서는 안됩니다. 메모리 영역이 겹치면 memmove (3)를 사용하십시오. (memcpy 맨 페이지에서). – Asblarf

+0

이전 버퍼가'buffer [32]'이고 새 버퍼가'new_buffer [1000]'이고 내 문자열이 그 1000 크기보다 훨씬 작 으면 memmove가 필요할 것입니까? –

관련 문제