阅读背景:

今天犯了个严重的错误,ReafFile之后没有SetFilePointer,就WriteFile

来源:互联网 
int main(int argc, char* argv[])
{

	WSAData wsadata;
	WSAStartup(MAKEWORD(2,2),&wsadata);
	
	char file[MAX_PATH]="c:\WebGame.dll";
	HANDLE hFile=CreateFile(file,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
	int filesize=GetFileSize(hFile,0);
	
	BYTE *a=(BYTE*)malloc(filesize);
	BYTE *b=a;
	DWORD NumberOfBytesRead;
	ReadFile(hFile,a,filesize,&NumberOfBytesRead,NULL);

	//这里读取完文件之后文件指针会移动到末尾,如果不把文件指针移动到开头的话,WriteFile会在文件末尾写入数据
	//SetFilePointer(hFile,0,0,FILE_BEGIN);	

	Decode((LPVOID)a,filesize,0x07e9);

	
	DWORD NumberOfBytesWritten;
	WriteFile(hFile,b,filesize,&NumberOfBytesWritten,NULL);
int main(int argc, char* argv[])
{

	WSADat



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: