我在 C++ CGI 脚本中通过 POST 收到一个二进制文件,我正在使用Cgicc库来获取它的内容,如下所示:
std::ofstream myfile;
myfile.open ("file.out", std::ios::in | std::ios::binary);
try
{
cgicc::Cgicc cgi;
cgicc::const_file_iterator file = cgi.getFile("bitmap");
if(file != cgi.getFiles().end())
{
file->writeToStream(myfile);
}
}
catch(std::exception &exception)
{
std::cout << exception.what();
}
结果是一个包含字节的二进制文件。
现在,因为每个字节应该代表一个 8 位位图文件的一个像素,所以我想构建整个位图文件。为了实现这一点,我想我可以使用easyBMP库,但由于我需要逐个像素地创建图像,我需要以某种方式迭代接收到的字节。有谁知道如何做到这一点?我可以以某种方式获得一个迭代器到 std::ostream / std::ostrstream / std::ostringstream 吗?
std::ostringstream stream;
file->writeToStream(stream);
//foreach byte in stream do { ... }