c++ - 如何使用来自 ostringstream 的猫鼬发送 png 数据?
问题描述
我在 ostringstream 变量“out”中有 png 数据,我想将其作为对 http-request 的响应发送。当我首先将它写入示例中的文件,然后再次读取时,它工作得很好(见下面的代码)。但是,当我改为发送“out.str().c_str()”时,它不起作用。pngdata 中的数据与 pngFileData 不同。有人可以解释为什么吗?
std::ostringstream out;
exampleQrPng1.writeToPNG(out);
std::ofstream mystream("out.png", std::ios::binary);
mystream << out.str();
mystream.flush();
mystream.close();
size_t ll = out.str().length();
//const char* pngdata = out.str().c_str();
char * pngFileData = mg_file_read("out.png", &ll);
std::cout << pngFileData << std::endl;
mg_printf(
c,
"HTTP/1.1 200 OK\r\n"
"Content-Length: %d\r\n"
"Content-Type: image/png\r\n\r\n",
ll
);
mg_send(c, pngFileData, ll);
解决方案
推荐阅读
- javascript - Codewars 挑战 - Hamelin 的聋鼠 - JavaScript - 如何通过特定字符集拆分字符串?
- graphql - 意外
: 一个graphql文件可以只导入其他文件而不做其他事情吗? - c - 将 BIGNUM 转换为原始二进制文件
- bash - 为什么在本地通过 SSH 初始化远程 bash 脚本时无法访问 GitHub?
- c++ - 在数组中显示第一个元素用户输入
- compiler-construction - 如何在coq中分析两个看似等效但行为不同的程序?
- ios - 从 getdocument which insdie getdocuments 在我的数组中获取 0 值
- android-studio - fragment.show(fragmentManager,"confirmDelete") 错误
- javascript - 如何通过逗号和/或换行符和/或空格分割字符串
- jquery - 即使在刷新页面后,如何使用 js 保持“模式”