如何从磁盘映像复制文件?

时间:2015-11-23 00:41:23

标签: c file fat file-pointer diskimage

我现在在C工作,我正在阅读使用FAT12系统的磁盘映像。在命令行中,我接受要从磁盘映像复制到本地文件夹的文件的名称。这是我的问题,当我遍历我需要获取的特定文件的所有字节时,我将复制到本地文件夹,应该使用哪些函数将这些字节写入本地文件?

顺便说一下,需要从磁盘复制的文件可能是PDF,.txt等。

截至目前,我使用下面的方法在本地打开(创建)文件,然后在它下面的函数将字节写入该文件(这个函数是我认为问题所在的地方)有更多的代码实际遍历通过FAT12中的字节,但我只需要知道在写入期间我做错了什么:

FILE *file = fopen(arg[2],"wb"); //To create the file on the local folder
fprintf(file,"%#04x ",buffer[index]); //Write a byte from the file that is being copied to the local file from the disk image

我的代码在从我复制的文件中获取适当的字节方面非常有效,但由于某种原因,.PDF文件无法打开,而.txt文件只显示复制的字节(无文本)。

非常感谢任何建议!

1 个答案:

答案 0 :(得分:0)

MikeCAT为此大声呐喊!因此,当您尝试将文件从磁盘映像复制到本地文件夹时,无论何时插入文件的特定字节,您都要复制到将要接收副本的文件中,请使用:< / p>

putc(buffer[index], file);

不是这样:

fprintf(file,"%#04x ",buffer[index]);

以上将字节作为字符串复制到文件中。

相关问题