资源描述:
《读写磁盘指定位置信息》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、读/写磁盘指定位置信息一、实验目的了解磁盘的物理组织掌握windows系统提供的有关对磁盘操作API根据输入的扇区号读/写指定扇区二、实验内容在上次实验基础上,继续完成该实验。编写两个函数,分别完成如下功能:对给定的扇区号读取该扇区的内容;将用户输入的数据写入指定的扇区三、实验指导1.相关API函数介绍1)设置读/写操作的位置用于移动一个打开文件中的读/写指针原型:DWORDSetFilePointer(HANDLEhFile,//文件句柄LONGlpDistanceToMove,//文件指针要移动的便移量
2、的低32位PLONGlpDistanceToMoveHigh,//文件指针要移动的便移量的高32位DWORDdwMoveMethod,//移动起点);参数dwMoveMethod的值值描述FILE_BEGIN开始为0或者为文件的开始位置FILE_CURRENT开始点为文件指针的当前位置FILE_END开始点为文件的结尾位置使用实例:(1)读文件时rc=SetFilePointer(Handle,BytestoRead,NULL,FILE_BEGIN);BytestoRead=SectorNumber*(di
3、sk_info.BytesPerSector);(2)写文件时rc=SetFilePointer(Handle,SecterMove,NULL,FILE_BEGIN);SecterMove=SectorNumber*(disk_info.BytesPerSector);2)读文件读取磁盘指定区域的内容,即从文件指针指示的位置开始读取文件中的数据原型:BOOLReadFile(HANDLEhFile,//要读的文件的句柄LPVOIDlpBuffer,//指向文件缓冲区的指针DWORDnNumberOfByte
4、sToRead,//从文件中要读取的字节数LPDWORDlpNumberOfBytesRead,//指向从文件中要读取的字节数的指针LPOVERLAPPEDlpOverlapped//指向OVERLAPPED结构的指针);实例ReadFile(Handle,ReadBuffer,BytestoRead,&BytestoRead,NULL)2)写文件将数据写入磁盘指定区域,即在文件指针所指的位置完成写操作,写操作完成后,文件指针按实际写入的字节数来调整原型:BOOLWriteFile(HANDLEhFile,
5、//要读的文件的句柄LPVOIDlpBuffer,//指向文件缓冲区的指针DWORDnNumberOfBytesToWrite,//从文件中要读取的字节数LPDWORDlpNumberOfBytesWritten,//指向从文件中要读取的字节数的指针LPOVERLAPPEDlpOverlapped//指向OVERLAPPED结构的指针);实例WriteFile(Handle,WriteBuffer,512,&BytestoWrite,NULL)4.实验要求深入理解操作系统将设备当作文件处理的特性,理解函数S
6、etFilePointer()、ReadFile()、WriteFile()中每个参数的实际意义并能在本实验中正确使用5.实验步骤1)在上节实验课基础上,显示指定盘信息(H盘);2)由用户选择:R、W、Q,其中R表示完成读指定的功能,可用函数BoolSectorRead(HANDLEHandle),W表示完成给定扇区号写入信息的功能,可用函数BoolSectorWrite(HANDLEHandle),Q表示程序退出;6.实验总结提交实验报告,分析实验结果。