2011-03-05 85 views

回答

2
message B { 
    required int64 i = 1; 
}; 

message A { 
    repeated B numbers = 1; 
}; 

A a; 
a.ParseFromString(<str>) 
for (int i = 0; i < a.numbers_size(); ++i) { 
    const B& b = a.numbers(i); 
    printf("%d\n", b.i()); 
} 
-2

「讀取消息」谷歌公司的C的部分++教程有相關樣本代碼: http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html

此外,STL的的for_each也似乎工作行(語法糖,更多或更少): STD ::的for_each(a.numbers()。開始() ,a.numbers()。端() ,[](常量乙& b){ 的std :: COUT < <雙()< <的std :: endl; } );

+5

問題是關於protobuf-c,而不是protobuf。關於C而不是C++。 – 2011-05-15 20:04:31