2010-02-17 2 views
25

프로젝트를 iPhone으로 포팅 할 때 찾을 수없는 reallocmemcpy을 사용합니다. 포함 할 헤더는 무엇입니까?memcpy 및 realloc에 ​​어떤 헤더를 포함해야합니까?

이 프로젝트는 Objective C와 C++를 섞어 놓은 것이므로 분실되기 시작했습니다.

미리 도움 주셔서 감사합니다. C에서

답변

35

:

#include <string.h> // memcpy 
#include <stdlib.h> //realloc 

C++에서는 c.h 접두사를 제거합니다. C++에서는 std 네임 스페이스에 배치되지만 전역 적입니다.

+0

'#ifdef __cplusplus' /'# else'를 사용하여 C 나 C++에 적합한 것을 자동으로 포함 할 수 있습니다. –

8

C++에서 std::copy은 C의 memcpy보다 더 관용적이지만, 후자는 잘 작동합니다. std::copy을 얻으려면 #include <algorithm>이 필요합니다.

realloc에 해당하는 직접 C++ 코드는 없습니다.

+2

이 대답을 주석과 함께 유용하지 않은 것으로 표시 할 수 있다면 올바르지 않으므로 그렇게 할 것입니다. GMan이 말했듯이 realloc은 에 있습니다. –

+5

나는 C++에서 C 표준 라이브러리 함수'realloc '을 사용할 수 없다고 말하지 않았다. (물론 C++ 표준 라이브러리는 C89 표준 라이브러리 전체를 포함하고 있기 때문이다. 나는'std :: copy'가'memcpy'를 위해'realloc'의 기능을 포함하는 새로운 C++ 표준 라이브러리 함수가 없다고 말했습니다. 내 대답이 다른 대답과 관련하여 분리되어 읽혀지면 내 의도가 명확하지 않은 것으로 생각되지만, 이미 수용된 대답입니다. –

관련 문제