这是我的问题。我打开了一个 .jpg 图像并将其每个字节写入一个用逗号分隔的 .txt 文件中。这是成功的。现在我想使用那个 txt 文件来重建图像。img.txt 看起来像 255,216,255,224,0,16,74,70,73,70,0,1,1.......以下代码创建了 image.jpg,其大小为原始图像,但图像不可见。我期待某人的帮助...
#include<iostream>
#include<string>
#include<fstream>
#include<sstream>
#include<cstdlib>
using namespace std;
int main(){
char *s;
long x;
ifstream is("D:\\test\\img.txt");
is.seekg(0,ios::end);
x=is.tellg();
is.seekg(0,ios::beg);
s=new char[x];
is.read(s,x);
is.close();
stringstream str;
char a[4];
int y = 0;
for(int i=0; i<=x; i++) {
if (s[i] != ',') {
a[y] = s[i];
y = y + 1;
}
if (s[i] == ',') {
str << (unsigned char)atoi(a);
a[0] = '\0';
a[1] = '\0';
a[2] = '\0';
a[3] = '\0';
y = 0;
}
}
const char *ss=(str.str()).c_str();
ofstream ex("D:\\test\\test.txt");
ex << ss;
ofstream fileo("D:\\test\\image.jpg",ios::binary);
fileo.write(ss,(str.str()).length());
}