我有一个在Java中用Protobuf序列化数据的程序,方法是在byte[]数组中编写二进制数据,然后将其保存在".txt“文件中。我在字符串流中接收C++端的数据。现在我想用C++解析二进制数据,但是Protobuf解析-方法"parseFromString()“不起作用!未设置测试消息中的字段。我为此编写了一个小测试,我可以向您展示一些代码: byte[] s = test.build().toByteArray();
我知道不应该在以二进制模式打开的输入流上使用提取操作符,但应该使用成员函数read。std::ifstream ifs("file.bin", std::ios::in | std::ios::binary);ifs >> c; // Should not be usedifs.read(&c, 1); // OK
但无论如何,这是可以做到的。所以我的问题是,当以二进制模式打开输入文件流时,