繁体   English   中英

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

[英]How to copy file from disk image?

我现在正在使用 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 文件仅显示复制的字节(无文本)。

任何建议将不胜感激!

为此向 MikeCAT 大喊大叫! 因此,当您尝试将文件从磁盘映像复制到本地文件夹时,每当您将要复制的文件的特定字节插入将接收副本的文件中时,请使用以下命令:

putc(buffer[index], file);

不是这个:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM