小编Dav*_*ish的帖子

FlatBuffers:写入和读取二进制文件?

我对C++和Google FlatBuffers中的文件流有基本了解.Schema文件非常简单,还可以创建缓冲区并从缓冲区指针读取.我没有得到的是如何将多个缓冲区保存到二进制文件中,然后读取该二进制文件以获取任何随机缓冲区.

这是一个带有两个浮点数的简单Schema:

table Car {
    field_a:[float];
    field_b:[float];
}
Run Code Online (Sandbox Code Playgroud)

.

用于构建缓冲区的函数(尽管没有保存文件):

bool save_flatbuf(string file_path, vector<double> vec_a, vector<double> vec_b) {
    flatbuffers::FlatBufferBuilder builder;

    auto vec_floats_a = builder.CreateVector(vec_a, vec_a.size());
    auto vec_floats_b = builder.CreateVector(vec_b, vec_b.size());

    auto mloc = CreateCar(builder, &vec_floats_a, &vec_floats_b);

    builder.Finish(mloc);

    // How to save it into a binary file with a list of "Cars"?
}
Run Code Online (Sandbox Code Playgroud)

.

还有一个从二进制文件中读取缓冲区后读取缓冲区的函数(没有文件读取):

bool read_flatbuf(string file_path) {

    // How to get the buffer pointer to a "Car" from a binary file with a "list of Cars" ? …
Run Code Online (Sandbox Code Playgroud)

c++ serialization fstream binaryfiles flatbuffers

10
推荐指数
1
解决办法
5673
查看次数

标签 统计

binaryfiles ×1

c++ ×1

flatbuffers ×1

fstream ×1

serialization ×1