问题描述
- 关于图种 内涵图 源代码的问题
-
最近写了一个图种制作的C++程序 但发现如果先将jpg的内容先写入,则jpg正常显示,但rar却解压错误,若是先写入rar则解压正常,但jpg却裂掉了,不知道为什么
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#includeusing namespace std;
int main()
{fstream Open,Open2,Hide;
Open.open("test1.jpg",ios::in|ios::binary);
Open2.open("test2.rar",ios::in|ios::binary);
Hide.open("Test.rar",ios::out|ios::binary);
int temp;
while(Open.read((char *)&temp,sizeof(int))) Hide.write((char *)&temp,sizeof(int));
while(Open.read((char *)&temp,sizeof(int))) Hide.write((char *)&temp,sizeof(int));
Open.close();
Open2.close();
Hide.close();
return 0;}
解决方案
呵呵,可能是你破坏了文件格式吧。rar是需要crc校验的。写入数据就破坏了文件啦。
解决方案二:
jpg、rar都是有文件格式的,比如jpg文件头会有EXIF信息,rar也同样,写入时直接覆盖原有文件信息,会破坏原有文件,试下追加写入,或者跳过文件格式头尾,写入格式规定写入内容处。
时间: 2024-09-21 13:15:11