📄 fileoperation.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 + -