我需要对 U 盘(FAT16 或 FAT32)进行完整格式化,将文件放入驱动器,然后将其删除并使用 C 程序恢复文件。
谁能给我一个提示,告诉我应该用什么来完成这个?
我了解 FAT16/32 文件系统的布局,问题是我不知道如何使用 C 访问原始高清数据(因为我不能使用 fopen 或 mmap 之类的东西,因为文件不是没有了)。
最佳答案
这是高度操作系统特定的。
对于 Linux,您将打开原始设备 /dev/sdxx
。请注意,需要管理权限环。
对于 Windows,您可以使用类似的东西:
HANDLE h = CreateFile ("\\\\.\\PhysicalDriveX", GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING | FILE_FLAG_RANDOM_ACCESS,
NULL);
其中 X
取决于设备。
关于c - 如何在 C 中直接访问原始高清数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8541848/