我一直在谷歌上搜索,无法锁定我想要做的事情。我得到了关于阅读二进制文件的信息。但在这些链接中,人们提到标题和格式,这似乎与我所追求的相反。
结束目标:加密图片中的任何文件(假设图片对文件足够大)。
开始目标:将任何扩展名的任何文件读入c ++向量(或者其他任何东西 - 如果有什么优势,我可以提出建议),然后用不同的名称将同一个文件重写到硬盘上。之后,我想检查文件是否仍然有效/大小/是否相同。
所以我试图确保我有能力将文件吸入' A'一旦文件进入A'并且能够写一个文件。在我把A' A'的内容拼凑起来之前并将其粘贴成图像。
感谢您的推荐。
答案 0 :(得分:2)
您要求引用名为 Steganography 的内容。我写了一篇关于它的研究论文。如果没有在此完整发布,Wikipedia有一个关于它的页面。
答案 1 :(得分:0)
有更好(更有效)的方法来复制文件。但是要回答您的具体问题:
#include <fstream>
#include <vector>
int main()
{
std::ifstream in("input_file", std::ios::binary);
auto beg = in.tellg();
in.seekg(0, std::ios::end);
auto end = in.tellg();
auto sz = end - beg;
std::vector<char> outbuf;
if(0 != sz)
{
in.seekg(0, std::ios::beg);
outbuf.resize(sz);
in.read(&outbuf[0], outbuf.size());
std::ofstream out("output_file", std::ios::binary);
out.write(&outbuf[0], outbuf.size());
}
}