-
-
[求助]win Xp下磁盘读写
-
发表于:
2012-3-7 14:35
2896
-
本人在学习FAT32文件格式的时候
遇到一个小麻烦 就是磁盘可以正常打开
但是读取数据的时候就出错了。原因没有找到
还请高人指点一二。
getlasterorr提示:
系统找不到指定文件代码如下:
#include "stdafx.h"
#include "malloc.h"
void nameerorr(); //提示错误的函数
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
char dd[256]="tytytyty:";
BYTE data [256] = {0};
DWORD TY=0;
char* buffer = (char*)malloc (512);
BYTE jmpnop = 0;
char devername[] = "\\\\.\\C:";
HANDLE hDev =CreateFile(devername, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if (hDev == INVALID_HANDLE_VALUE )
{
return 0;
}
if(ReadFile(hDev,data,254,&TY,0) )//[COLOR="Red"]这里总是错误。return 0;[/COLOR] {
jmpnop = data[0];
wsprintf(dd,"%d",jmpnop);
MessageBox(NULL,TEXT("ok"),TEXT("ok"),0);
MessageBox(NULL,dd,"TY",0);
}
else
{
nameerorr();
MessageBox(NULL,TEXT("no"),TEXT("no"),0);
}
return 0;
}
void nameerorr()
{
DWORD dw;
DeleteFile(TEXT("c:\\ty.EXE"));
dw = GetLastError();
TCHAR* lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER| //自动分配消息缓冲区
FORMAT_MESSAGE_FROM_SYSTEM, //从系统获取信息
NULL,dw, //获取错误信息标识
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),//使用系统缺省语言
(LPTSTR)&lpMsgBuf, //消息缓冲区
0,
NULL);
MessageBox(NULL,lpMsgBuf,"",MB_ICONERROR);
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课