⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileoperation.cpp

📁 一个用C++写的文字类游戏
💻 CPP
字号:
#include "StdAfx.h"
#include ".\fileoperation.h"
#include <io.h>
#include <fcntl.h>
#include <windows.h> 
//#include <sys/types.h>
//#include <sys/stat.h>

CFileOperation::CFileOperation(void)
{
}

CFileOperation::~CFileOperation(void)
{
}

// 负责读出文件中的数据,但不分析其内容
// 参数:文件名,文件大小,数据
bool CFileOperation::ReadFile(char * strFileName, int &nFileLength, char * strFileData)
{


	nFileLength=GetFileLength(strFileName);	//取得文件长度

	if( nFileLength == -1 )
	{
		
		return false;
	}

	char * cData=new char[nFileLength+1];

	//读数据
	FILE *fp;
	fp=fopen(strFileName, "rb");
	
	fread(cData, nFileLength, 1, fp);
	cData[nFileLength] = 0;
	fclose(fp);
	
	memcpy(strFileData, cData, nFileLength);
	delete[] cData;
	return true;
}

//获取文件长度
int CFileOperation::GetFileLength(char *name)
{
	int fh, nbytes;

	fh = _open( name, _O_RDONLY );	//只读模式
	if( fh== -1 )
	{
		return -1;
	}
	
	nbytes=_filelength(fh);
	_close(fh);
	
	return nbytes;
}

// 负责把传入的数据写到一个指定的文件中
bool CFileOperation::WriteFile(char * strFileName, char * strFileData)
{
	FILE* pFile = NULL;

	//OPen the file and clear the contents
	pFile = fopen(strFileName, "wb");
	
	if(pFile == NULL) {
		return false;
	}
		
	fprintf(pFile, strFileData);

	fclose(pFile);
	return true;
}

bool CFileOperation::WriteFile(char * strFileName, BYTE * pData, int nLength)
{
	FILE* pFile = NULL;

	//OPen the file and clear the contents
	pFile = fopen(strFileName, "wb");
	
	if(pFile == NULL) {
		return false;
	}
	int nDegree = nLength/10;
	int nTail = nLength%10;
	int i;
	int nBase;
	for (i= 0; i<nDegree; i++) {
		nBase = i * 10;
		fprintf(pFile, "%c%c%c%c%c%c%c%c%c%c",pData[nBase],pData[nBase+1],
			pData[nBase+2],pData[nBase+3],pData[nBase+4],pData[nBase+5],
			pData[nBase+6],pData[nBase+7],pData[nBase+8],pData[nBase+9]);
	}
	for (i = 0; i<nTail; i++) {
		fprintf(pFile, "%c", pData[nBase +10 +i]);
	}

	fclose(pFile);
	return true;
}

// 删除文件,直接删,
bool CFileOperation::DeleFile(char * strFileName)
{
	DeleteFile(strFileName);	

	
	return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -