-1
fstream file("G:", ios::in | ios::binary);

unsigned char buffer[512];

file.read((char *)buffer, 512);

file.close();

cout << buffer <<"\n";

我想从我的闪存驱动器中原始读取引导扇区。我可以使用 fstream 来完成这项工作吗?

4

1 回答 1

3

写入文件流操作以访问文件CPP 参考没有进一步说明在这种情况下“文件”是什么——也许他们是对的。毕竟,它高度依赖于操作系统,什么被认为是“文件”。

但是:在这些解释中,引导扇区都不是文件。您无法在 Windows 资源管理器或 OS X Finder 中看到或读取引导扇区 - 它“超出”文件级别。

您的测试程序失败,因为“G:”不被解释为“闪存驱动器”,而仅仅是“完整路径规范”。在“引导扇区”级别上工作时,没有路径和驱动器号分配。您正在使用物理对象:实际磁盘和实际扇区。

请参阅http://www.codeproject.com/Articles/28314/Reading-and-Writing-to-Raw-Disk-Sectors了解原始阅读的初体验。

于 2013-09-05T08:56:46.383 回答