3

leveldb に key(url) と value(jpg 画像) を保存したいです。言われているように、

キーと値は任意のバイト配列です。

DB::Get API を使用するにはどうすればよいですか?

4

3 に答える 3

3

Slice はメモリーを所有していません (メモリーを指すだけです)。そのため、Slice を返すことは、呼び出し元がメモリーを解放する必要があることを意味します。

したがって、値のセマンティクスを持つ型が必要です。

バイナリ配列の自然値はstd::vector<uint8_t>、それが示すように になります。ただし、std::string代わりに使用することもできます(回答で指摘したように)。実際の文字列を読み取ることが予想される場合(キャストは必要ありません)、より便利です。

ただし、主な問題は、その理由が文書化されていないことです。

于 2014-05-04T18:08:19.693 に答える
2

I finally got it! c++ std::string use size() method to get the data length, use .data() get the data value. c++ std::string is not terminated by '\0', but specified by the size() function!

于 2013-01-09T02:29:15.903 に答える