
问题是我的输出文件小于原始文件,我找不到原因.
我有一个6.6 kb的图像,我的输出图像大约6.4 kb
#include <iostream>#include <fstream>using namespace std;ofstream myOutpue;ifstream mySource;int main(){ mySource.open("im1.jpg",ios_base::binary); myOutpue.open("im2.jpg",ios_base::out); char buffer; if (mySource.is_open()) { while (!mySource.eof()) { mySource >> buffer; myOutpue << buffer; } } mySource.close(); myOutpue.close(); return 1;}解决方法 您的代码中有3个问题: 1-您尚未在二进制文件中打开输出文件.
2-你的代码返回“1”,通常你应该返回“0”,如果出现问题然后返回错误代码.
3-你应该使用“ *** 纵器”并使c不要避免空格,所以为了从文件中读取而不是:
mySource >> buffer;
你应该使用:
mySource >> std:noskipws >> buffer;总结
以上是内存溢出为你收集整理的用fstream读取和写入c中的二进制文件全部内容,希望文章能够帮你解决用fstream读取和写入c中的二进制文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)