verwenden möchte ich eine binäre Datei lesen Cpp verwenden, und seine Art ist mit MsgPack. Ich bin nicht vertraut mit MsgPack und ich versuche, Binärdatei Faust zu lesen und Push MsgPack. Es funktioniert nicht. Es bekommt immer nur die erste Nummer. Kann jemand helfen? Danke vielmals.Lesen Binärdatei MsgPack in C++
#include <bits/stdc++.h>
#include <msgpack.hpp>
using namespace std;
int main()
{
std::ifstream ifs("input.txt", std::ifstream::in);
std::stringstream buffer;
buffer << ifs.rdbuf();
msgpack::unpacked upd;
msgpack::unpack(upd, buffer.str().data(), buffer.str().size());
std::cout << upd.get() << std::endl;
return 0;
}
Welche es nur die erste Zahl "3" bekommen kann.
Ich hoffe Zahl zu erhalten:
3
[3 6 7 5 3 5]
[6 2 9 1 2 7]
[0 9 3 6 0 6]
Und here ist der Eingang Binärdatei.
Ihre Lösung basiert auf Ihrer Annahme, dass die erste Zahl eine Anzahl von folgenden Arrays ist. Was ist, wenn es falsch ist und @Gavin Lee nur 4 Unabhängigkeitsnachrichten analysieren wollte? Zumindest können Sie überprüfen, ob 'offset' immer noch kleiner ist als' buffer.size() 'in Ihrer for-Schleife. – JustRufus