2010-08-29 311 views
0

清除所有写入的字节到目前为止,有没有办法用protobuf做到这一点?如何清除protobuf的缓冲区?

+3

您正在使用哪种protobuf实现?此外,您的问题可能会更清晰。你可以添加一个代码示例向我们展示你正在尝试做什么? – 2010-08-29 13:10:54

+0

将它用于持久性套接字,我使用Google protobuf:http://code.google.com/apis/protocolbuffers/docs/reference/cpp/google.protobuf.io.coded_stream.html#CodedOutputStream.GetDirectBufferPointer.details – user198729 2010-08-29 13:32:38

回答

2

当你说清楚,你是否要求撤销你已经写好的字节?

如果您使用的是FileOutputStream或OstreamOutputStream,那么您写的内容可能无法清除,因为它已保存到磁盘或流式传输到某处。如果您使用的是ArrayOutputStream(如果您打算将它写入套接字,那么您可能会这样做),那么只需重新创建ArrayOutputStream并将其指向同一个缓冲区即可撤消。

如果您向我们展示您当前使用的代码,这将有所帮助,因此我们可以更好地为您提供建议。