C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了用fstream读取和写入c中的二进制文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_2@
我正在尝试编写简单的c代码来读写文件.
问题是我的输出文件小于原始文件,我找不到原因.
我有一个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;
}
@H_607_2@

解决方法

您的代码中有3个问题:

1-您尚未在二进制文件中打开输出文件.

2-你的代码返回“1”,通常你应该返回“0”,如果出现问题然后返回错误代码.

3-你应该使用“操纵器”并使c不要避免空格,所以为了从文件中读取而不是:

@H_847_9@mysource >> buffer;

你应该使用:

@H_847_9@mysource >> std:noskipws >> buffer; @H_607_2@ @H_607_2@

@H_607_2@
@H_607_2@

大佬总结

以上是大佬教程为你收集整理的用fstream读取和写入c中的二进制文件全部内容,希望文章能够帮你解决用fstream读取和写入c中的二进制文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。