I need to do a complete format on a USB stick (FAT16 or FAT32), put a file on the drive, then delete it and recover the file using a C program.
Could anyone give me a hint on what should I use to accomplish this?
I understand the layouts of the FAT16/32 filesystems, the problem is that I don’t know how to access the raw HD data using C (since I can’t use things like fopen or mmap because the file isn’t there anymore).
This is highly operating system specific.
For Linux, you would open the raw device
/dev/sdxx. Note that there are privilege hoops to manage.For Windows, you would use something like:
where
Xdepends on the device.