【问题标题】:Modify the binary code of a file in C用C修改文件的二进制代码
【发布时间】:2018-03-27 10:58:58
【问题描述】:

所以,我有一个 C 程序,我试图从用户指定的文件中保存二进制代码。例如,如果用户输入 .txt 或 .jpeg,或 .pdf,或他们拥有的任何文件扩展名,那么我将能够收集文件的二进制代码。问题是该文件不会完全是 .bin。

这对于我正在尝试制作的项目非常具体,因此我没有看到任何有关如何实现此目的的文档。我相信这是可以实现的,因为从技术上讲,每个文件都是二进制文件,所以,尤其是在 C 中,这应该是可能的。

到目前为止,我已经尝试使用 fopenrb 参数:file = fopen(filename, "rb");,因为我正在尝试专门修改二进制文件。我正在尝试使用应该遍历文件的fseek(file, 0, SEEK_END); 来收集二进制文件。

我来自 Python/Java 背景,因此非常感谢任何指导或帮助。

我的问题是实现这一目标的最佳方法是什么?

【问题讨论】:

标签: c io binary


【解决方案1】:

您正在尝试区分没有任何文件 - 所有文件都是二进制文件。使用fopen 是正确的方法——它通过创建文件描述符打开文件进行读/写。但是,fseek 不是您要找的东西——这会移动文件指针而不实际做任何事情(即它不读取文件)。我认为您实际上正在寻找的是freadfwrite,它们实际上是在操作文件二进制文件。

您应该 read more 了解如何在 C 中完成文件 IO,如果您对如何执行此操作有具体问题,请返回。

【讨论】:

    猜你喜欢
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 2020-06-26
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多