Здравствуйте! Возник такой вопрос: как сохранить бинарный файл (png) в памяти в поле Json::value (библиотека jsoncpp)? Мне это нужно для того, чтоб потом положить полученный json в couchbase с использованием libcouchbase. Бинарный файл я считываю в std::string и конвертирую в char * при помощи
std::ifstream fin("image.png", std::ios::binary);
std::string data;
data.reserve(1000000);
std::copy(std::istreambuf_iterator<char>(fin),
std::istreambuf_iterator<char>(),
std::back_inserter(data));
char *a = (char *)malloc(sizeof(char) * data.length());
unsigned int i = 0;
for (i = 0; i < data.size(); i++)
a[i] = (unsigned char)(data[i]);
Поскольку я знаю длину строки, я могу вывести её полностью (просто вывод a не работает, т.к. в a есть символы конца строки). В результате a записывается и считывается из couchbase без изменений, это я проверил при помощи вывода в файл с получением картинки, тождественной исходной. Но мне нужно вместе с ней хранить ещё некие заголовки (тоже строки), поэтому хочется использовать json. Я пытаюсь сделать
Json::Value jsonvalue;
jsonvalue["value"] = a;
но при выводе jsonvalue["value"] в файл полученный файл уже не тождественен исходному. Подскажите, пожалйуста, что делать. Предполагаю, что я придумал неверное в принципе решение, как хранить картинки в couchbase вместе с заголовками. Но мне хотелось бы иметь возможнось в пределах одного запроса к базе получать как картинку, так и заголовки, поэтому я так поступил.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Киньте пример пожалуйста, как запустить программу на клиентской машине используя javascript, и вообще можно ли так??? вроде телеграмм таким образом...