fstream file("G:", ios::in | ios::binary);
unsigned char buffer[512];
file.read((char *)buffer, 512);
file.close();
cout << buffer <<"\n";
我想从我的闪存驱动器中读取引导扇区。 我可以用这个工作流吗?
答案 0 :(得分:3)
编写文件流操作以访问文件。 CPP Reference没有进一步指明在这种情况下'文件'是什么 - 也许它们是正确的。毕竟,高度取决于操作系统被认为是“文件”。
然而:在这些解释中,没有一个是引导扇区文件。您无法在Windows资源管理器或OS X Finder中查看或读取引导扇区 - 它“超出”文件级别。
您的测试程序失败,因为“G:”不被解释为“闪存驱动器”,而只是“完整路径规范”。在“引导扇区”级别上工作时, 没有路径和驱动器号分配。您正在使用物理对象:实际磁盘和实际扇区。
请参阅http://www.codeproject.com/Articles/28314/Reading-and-Writing-to-Raw-Disk-Sectors了解原始阅读的第一次尝试。