2010-02-17 33 views
25

Ben iPhone'a bir proje taşıma ediyorum ve onu realloc ve bulunmayan memcpy kullanır. Eklenecek başlık nedir?Memcpy ve realloc için hangi başlığı eklemeliyim?

O ++ Objective C ve C karıştırma bir proje ve ben kaybolmuş başlıyorum.

Yardımlarınız için şimdiden teşekkür ederiz! C

cevap

35

:

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

C++, bir c ile .h ve önek çıkarın. C++ 'da, std ad alanına yerleştirilecekler, ancak aynı zamanda global.

+0

Sen C veya C++ ya doğru olanları otomatik olarak dahil etmek #ifdef __cplusplus'/'# else' kullanabilirsiniz. –

8

C++ 'da, std::copy'u C'nin memcpy'dan daha kullanışlıdır. std::copy'u almak için #include <algorithm>'a ihtiyacınız var.

olsa doğrudan C++ realloc eşdeğer yok.

+2

Bu cevabı bir yorum ile yararlı olarak işaretleyemezsem yanlış olur. GMan dediği gibi, realloc 'da bulunur. –

+5

(elbette, C++ standart kütüphane C89 standart kütüphanenin bütününü kapsar, beri) o C++ C standart kütüphanesi işlevi 'realloc' kullanmak mümkün olmadığını söylemedi. I 'Std :: copy'' memcpy' için olduğu gibi realloc' 'işlevselliğini kapsayan yeni bir C++ standart kütüphane işlevi olmadığını söyledi. Her ne kadar benim cevabım, cevabın, halihazırda kabul edilmiş olan cevapla bağlantılı olarak karşıt olarak okunduğunda niyetim açık değildir. –