一点一点地复制图像 C++
Copy an image bit by bit C++
我最近找到了一些关于 C++ 文件打开模式的文档,并使用 ios_base::binary
尝试打开图像 (.JPG),逐位读取,然后将它们写入单独的文件 ( ofstream
) 扩展名为 .JPG。问题是我在尝试打开新创建的图像时遇到错误:Error interpreting JPEG file
。有帮助吗?
code:
int main()
{
char a;
std::ifstream fin {"image.jpg", std::ios_base::binary};
std::ofstream fout {"uzicopied.jpg", std::ios_base::binary};
while (true)
{
if (!(fin >> a) || !fin) break;
fout << a;
}
return 0;
}
fin >> a
跳过空格,即使文件以二进制模式打开也是如此。请改用 get
。您还可以简化 while 循环。
char a;
while (fin.get(a))
fout.put(a); // fout << a; would also work
我最近找到了一些关于 C++ 文件打开模式的文档,并使用 ios_base::binary
尝试打开图像 (.JPG),逐位读取,然后将它们写入单独的文件 ( ofstream
) 扩展名为 .JPG。问题是我在尝试打开新创建的图像时遇到错误:Error interpreting JPEG file
。有帮助吗?
code:
int main()
{
char a;
std::ifstream fin {"image.jpg", std::ios_base::binary};
std::ofstream fout {"uzicopied.jpg", std::ios_base::binary};
while (true)
{
if (!(fin >> a) || !fin) break;
fout << a;
}
return 0;
}
fin >> a
跳过空格,即使文件以二进制模式打开也是如此。请改用 get
。您还可以简化 while 循环。
char a;
while (fin.get(a))
fout.put(a); // fout << a; would also work