わかりました、私はこれを理解しました。テキスト proto ファイルをオブジェクトに読み込むには....
#include <iostream>
#include <fcntl.h>
#include <fstream>
#include <google/protobuf/text_format.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include "YourProtoFile.pb.h"
using namespace std;
int main(int argc, char* argv[])
{
// Verify that the version of the library that we linked against is
// compatible with the version of the headers we compiled against.
GOOGLE_PROTOBUF_VERIFY_VERSION;
Tasking *tasking = new Tasking(); //My protobuf object
bool retValue = false;
int fileDescriptor = open(argv[1], O_RDONLY);
if( fileDescriptor < 0 )
{
std::cerr << " Error opening the file " << std::endl;
return false;
}
google::protobuf::io::FileInputStream fileInput(fileDescriptor);
fileInput.SetCloseOnDelete( true );
if (!google::protobuf::TextFormat::Parse(&fileInput, tasking))
{
cerr << std::endl << "Failed to parse file!" << endl;
return -1;
}
else
{
retValue = true;
cerr << "Read Input File - " << argv[1] << endl;
}
cerr << "Id -" << tasking->taskid() << endl;
}
私のプログラムは、ターミナルで実行すると、プロト バフの入力ファイルを最初のパラメーターとして受け取ります。例えば./myProg inputFile.txt
これが同じ質問を持つ人に役立つことを願っています