簡體   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