在奇妙的C#世界中,我可以創建一個沒有指定其大小的內存流, 寫入它,然後只需要底層緩衝區。在C++中尋找一個MemoryStream
我該如何在C++中做同樣的事情?基本上我需要做的:
memory_stream ms(GROW_AS_MUCH_AS_YOU_LIKE);
ms << someLargeObjects << someSmallObjects << someObjectsWhosSizeIDontKnow;
unsigned char* buffer = ms.GetBuffer();
int bufferSize = ms.GetBufferSize();
rawNetworkSocket.Send(buffer, bufferSize);
順便說一句,我有我的項目提升,雖然我不是那麼熟悉它。
謝謝。
@Martin:我沒有,我想創建一個流,填充它,獲取底層緩衝區,併發送它。我也不能使用boost :: socket,我在WINSOCK API上使用了一個服裝協議,所以我可以發送的是一個完整的緩衝區。 – 2010-06-22 07:56:20