2015-09-07 99 views
0

我使用TMemoryStream类和它的WriteBuffer方法将数据写入流中。我需要写和读int变量。将int转换为void *和void *为int,用于TMemoryStream-> WriteBuffer(C++ Builder XE7)

void __fastcall WriteBuffer(const void *Buffer, int Count) 
void __fastcall ReadBuffer(void *Buffer, int Count) 

下面的代码是正确的还是不是?

int i = 5; 
stream->WriteBuffer((void*)&i, sizeof(int)); 

阅读

stream->ReadBuffer((void*)&i, sizeof(int)); 
+0

看起来不错 - 有什么问题吗? –

回答

0

是下面的代码正确或没有?

是。虽然任何指针可以传递给void*(取const -correctness考虑,当然)的类型转换是没有必要的:

int i = 5; 
stream->WriteBuffer(&i, sizeof(int)); 

int i; 
stream->ReadBuffer(&i, sizeof(int)); 
相关问题