2010-08-29 2 views
0

Очистить все байты, написанные до сих пор, есть ли способ сделать это с protobuf?Как очистить буфер протобуфа?

+3

Какую версию protobuf вы используете? Кроме того, ваши вопросы могут быть более ясными. Можете ли вы добавить пример кода, показывающий нам, что вы пытаетесь сделать? –

+0

Используя его для постоянных сокетов, я использую Google protobuf: http://code.google.com/apis/protocolbuffers/docs/reference/cpp/google.protobuf.io.coded_stream.html#CodedOutputStream.GetDirectBufferPointer.details – user198729

ответ

2

Когда вы говорите ясно, вы просите отменить байты, которые вы уже написали?

Если вы используете FileOutputStream или OstreamOutputStream, то то, что вы написали, может быть несовместимым, так как оно уже было сохранено на диске или потоковым. Если вы используете ArrayOutputStream (который может быть, если вы собираетесь записывать его в сокет), вы можете отменить, просто воссоздав свой ArrayOutputStream и снова указывая на тот же буфер.

Это поможет, если вы продемонстрируете нам код, который вы используете в настоящее время, поэтому мы можем вам лучше посоветовать.

Смежные вопросы