对于TMemoryStream-> WriteBuffer(C ++ Builder XE7),将int转换为void *和void *为int

时间:2015-09-07 14:30:19

标签: c++ c++11 int c++builder void

我使用TMemoryStream类及其WriteBuffer方法将数据写入流。我需要写和读int变量。

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));

1 个答案:

答案 0 :(得分:0)

  

以下代码是否正确?

是。虽然没有必要使用类型转换,因为任何指针都可以传递给void*(当然考虑const - 正确性):

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

int i;
stream->ReadBuffer(&i, sizeof(int));