所以,我有一个C程序,我试图从用户指定的文件中保存二进制代码。例如,如果用户输入.txt或.jpeg,或.pdf,或者他们拥有的任何文件扩展名,那么我将能够收集文件的二进制代码。问题是该文件不仅仅是.bin。
这对我正在尝试的项目非常具体,所以我没有看到任何关于如何实现这一目标的文档。我相信这是可以实现的,因为从技术上讲,每个文件都是二进制的,因此,特别是在C中,这应该是可能的。
到目前为止,我已使用fopen
rb
参数进行了实验:file = fopen(filename, "rb");
因为我试图专门修改二进制文件。我正在尝试使用应该遍历文件的fseek(file, 0, SEEK_END);
来收集二进制文件。
我来自Python / Java背景,因此感谢任何指导或帮助。
我的问题是实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
你试图区分哪里没有 - 所有文件都是二进制文件。使用fopen
是正确的方法 - 通过创建文件描述符打开文件以进行读/写。然而,fseek
并不是你想要的 - 这会移动文件指针而不会实际做任何事情(即它不会读取文件)。我认为你实际需要的是fread
和fwrite
,它实际上操纵文件二进制文件。
您应该read more关于如何在C中完成文件IO,如果您有关于如何执行此操作的具体问题,请回来。