如何在标准c ++中流式传输/读取二进制文件的中间部分并写入另一个文件?
How to stream/read middle portion of binary file and write to another file in standard c++?
如果我有 1000 字节的文件(只是一个简单的例子(,如何读取 300 字节到 700 字节的字节并将该部分写入新的二进制文件,尤其是使用 fstream? 该过程应该是独立于平台的(使用 c++11(,甚至适用于大文件。
请注意, 我不在乎它需要多长时间(性能(,只要它不失败。所以我喜欢将字节逐字节写入文件的方法,类似于下载大文件时的方法。
网络上可能有很多这样的问题,但它们都涉及复制整个文件,读取文本文件的一部分,或者只处理可以作为字节数组变量保存并操作它的小文件。
求求你,帮帮我。 谢谢!!
简而言之:
打开文件进行读取。寻求抵消 300。将 400 字节读入缓冲区。关闭文件。 打开第二个文件进行写入。将缓冲区写入第二个文件。关闭第二个文件。释放缓冲区。
- 使用 fopen 打开二进制文件,第二个参数可能需要 'rb'
- 使用 fseek 重新定位流位置指示器
- 使用面包阅读您想要多长的零件
- 使用 fwrite 完成目标文件。 所有这些都是C++标准。
相关文章:
- 正在读取二进制文件(is_open)
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- Android 在编译二进制文件时重建静态库
- 在 C++ 中将双精度变量写入二进制文件
- clang 的 libFuzzer 可以在同一二进制文件中测试超过 1 个 API 吗?
- C++:实际上不是从二进制文件中读取
- 如何从二进制文件中的给定符号中获取调用程序图
- 将内部带有矢量的结构保存/读取到二进制文件中
- 编译多个C++文件.调用二进制文件以运行代码
- 如何使用位字段将数据从二进制文件复制到结构中?
- uint8_t同一二进制文件的不同十进制值
- C++单个生成文件多个二进制文件
- 尝试将数字写入二进制文件时引发异常
- 如何在标准c ++中流式传输/读取二进制文件的中间部分并写入另一个文件?
- 写入二进制文件的中间;使用tellg()查找长度
- ofstream::write 在写入大型二进制文件时中间失败
- 写入到现有二进制文件c++的中间