std::stringとgoogleのプロトコルバッファライブラリについて簡単な質問があります。私は次のようなメッセージを定義しました:
message Source
{
required string Name = 1;
required uint32 Id = 2;
optional string ImplementationDLL = 3;
optional bytes Icon = 4;
}
アイコンフィールドを使用して画像を送信したいのですが、おそらくpng画像になります。これをprotobufコンパイラにフィードした後、Iconフィールドにアクセス/操作するためにこのようなものを取得しました。
inline bool has_icon() const;
inline void clear_icon();
static const int kIconFieldNumber = 4;
inline const ::std::string& icon() const;
inline void set_icon(const ::std::string& value);
inline void set_icon(const char* value);
inline void set_icon(const void* value, size_t size);
inline ::std::string* mutable_icon();
std :: string * mutable_icon()関数は私に頭痛の種を与えています。std :: stringを返していますが、文字列はバイナリデータを保持できないと思います!または彼らはできますか?
set_icon(const void *、size_t)関数を使用してバイナリデータを配置できますが、反対側で取得するにはどうすればよいですか?
std :: stringはバイナリデータを保持できるかもしれないと思いますが、どうやって????