2015-07-09 3 views
1

на сайте сообщение пакета:пакет сообщений - как найти представленную строку?

Message Pack

есть «Try» ссылка выше, где он показывает мне, как долго это строка, представляющая для данных.

У меня есть небольшой скрипт, который основан на примерах, представленных в сообщении пакета мерзавца ступице

#include <msgpack.hpp> 
#include <vector> 
#include <string> 
#include <iostream> 

int main(void) { 
    using namespace std; 

    msgpack::sbuffer buffer; 

    msgpack::packer<msgpack::sbuffer> pk(&buffer); 
    pk.pack_map(2); 
    pk.pack(string("SerialNumber")); 
    pk.pack(123456789); 
    pk.pack(string("Date")); 
    pk.pack("1.4.14"); 



    //deserialize 

    msgpack::unpacker pac; 
    pac.reserve_buffer(buffer.size()); 
    memcpy(pac.buffer(),buffer.data(),buffer.size()); 
    pac.buffer_consumed(buffer.size()); 


    msgpack::unpacked result; 
    while(pac.next(&result)) 
    { 
     cout<<result.get()<<endl<<endl; 

    } 

прекрасно работает, но я хочу retrive строки, которая представлена ​​за упакованные данными. как в «Попробуйте!» ссылка. как я могу его найти?

спасибо

+0

Кто-нибудь? Мне действительно нужна помощь в этом – yanish

ответ

1

Я хочу, чтобы получить строку, которая представлена ​​за упакованными данными

Что вы можете сделать, это распечатать содержимое простого буфера в шестнадцатеричном формате:

const char *data = buffer.data(); 
for (int i = 0; i < buffer.size(); i++) 
    printf("%02x ", (unsigned char) data[i]);