0
.proto文件結構刪除特定重複字段從谷歌協議緩衝數據
消息repetedMSG { 必需的字符串數據= 1; }
message mainMSG
{
required repetedMSG_id = 1;
repeated repetedMSG rptMSG = 2;
}
我有一個mainMSG和在它太多(假設10)repetedMSG都存在。 現在我想從mainMSG中刪除任何特定的repetedMSG(假設第5個repetedMSG)。爲此,我嘗試了3種方法,但都沒有工作。
for (int j = 0; j<mainMSG->repetedMSG_size(); j++){
repetedMSG reptMsg = mainMsg->mutable_repetedMSG(j);
if (QString::fromStdString(reptMsg->data).compare("deleteMe") == 0){
*First tried way:-* reptMsg->Clear();
*Second tried Way:-* delete reptMsg;
*Third tried way:-* reptMsg->clear_formula_name();
break;
}
}
當我序列化mainMSG何時執行該行寫入文件,即我得到運行時錯誤
mainMSG.SerializeToOstream(標準:: fstream的輸出( 「C:/ A /測試1」 ,std :: ios :: out | std :: ios :: trunc | std :: ios :: binary))這裏我得到運行時錯誤