读取和保存二进制文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haimianjie2012/article/details/81912909
#include "StdAfx.h"
#include "ProcessFile.h"


CProcessFile::CProcessFile(void)
{
}


CProcessFile::~CProcessFile(void)
{
}
DWORD __stdcall CProcessFile::ReadBinaryFile(BYTE * pBuf, DWORD size, LPCTSTR lpszFileName)
{
	DWORD realRead = 0;
	HANDLE hFile = INVALID_HANDLE_VALUE;

	__try{

		hFile = CreateFile(lpszFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

		if( hFile != INVALID_HANDLE_VALUE )
		{
			ReadFile(hFile,pBuf,size,&realRead,NULL);
		}

	}__finally{

		CloseHandle(hFile);hFile=NULL;
	}

	return realRead;
}

DWORD __stdcall CProcessFile::WriteBinaryFile(BYTE * pBuf, DWORD size, LPCTSTR lpszFileName)
{
	DWORD realWrite = 0;
	HANDLE hFile = INVALID_HANDLE_VALUE;

	__try{

		hFile = CreateFile(lpszFileName,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

		if( hFile != INVALID_HANDLE_VALUE )
		{
			WriteFile(hFile,pBuf,size,&realWrite,NULL);
		}

	}__finally{

		CloseHandle(hFile);hFile=NULL;
	}

	return realWrite;
}

猜你喜欢

转载自blog.csdn.net/haimianjie2012/article/details/81912909