使用CreateFile, ReadFile, WriteFile在Windows NT/2000/XP下读
发布时间:2020-12-13 20:46:39 所属栏目:PHP教程 来源:网络整理
导读:也就是在CreateFile的时候打开文件名指定: “.Device”就能够了. 由于代码比较短,所以我不做注释,相信大家看代码就可以明白意思了. 另外这里读写的都是软盘A盘第0扇区,如果想读写其他的扇区,那末可使用API SetFilePointer. 读扇区的方法(下面的代码演示从A盘
也就是在CreateFile的时候打开文件名指定: “.Device”就能够了. 由于代码比较短,所以我不做注释,相信大家看代码就可以明白意思了. 另外这里读写的都是软盘A盘第0扇区,如果想读写其他的扇区,那末可使用API SetFilePointer. 读扇区的方法(下面的代码演示从A盘的第0扇区读出数据,写入到文件BOOT.BIN中): #include <windows.h> #include <assert.h> #include <stdio.h> void main() { HANDLE hFile; hFile = CreateFile(".A:", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); assert(hFile && "CreateFile failed!"); PBYTE pBuffer = (PBYTE)malloc(512); assert(pBuffer && "Allocate memory failed!"); DWORD dwLen; ReadFile(hFile,pBuffer,512,&dwLen,NULL); FILE * fp; fp = fopen("boot.bin","wb"); assert(fp && "Open file failed!"); fwrite(pBuffer,1,fp); fclose(fp); CloseHandle(hFile); free(pBuffer); } 那末相应的,写扇区的方法的就是这样的咯(以下代码演示从BOOT.BIN中读出数据写入到A盘第0扇区): #include <windows.h> #include <assert.h> #include <stdio.h> void main() { HANDLE hFile; hFile = CreateFile(".A:", GENERIC_WRITE, FILE_SHARE_WRITE, NULL); assert(hFile && "CreateFile failed!"); PBYTE pBuffer = (PBYTE)malloc(512); assert(pBuffer && "Allocate memory failed!"); FILE * fp; fp = fopen("boot.bin","rb"); assert(fp && "Open file failed!"); fread(pBuffer,fp); fclose(fp); DWORD dwLen; WriteFile(hFile,NULL); CloseHandle(hFile); free(pBuffer); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- PHP通过PDO从Linux连接到MS SQLServer 2008
- 关于PHP自动判断字符集并转码的详解
- PHP中OpenSSL加密问题整理
- php – mysql if word match statement
- 计算机图形学(三)_图元的属性_10_ 通用扫描填充算法
- 浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
- PHP计算数组中值的和与乘积的方法(array_sum与array_produc
- php – 双击突出显示变量Sublime Text 3包含$
- Zend Framework动作助手Json用法实例分析
- php – 如何从Android中的手机间隙文件上传中读取分块数据