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

📄 filer.cpp

📁 一个操作系统资源监测器的需求、设计与实现
💻 CPP
字号:
#include "stdafx.h"
#include "Filer.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////

CFiler::CFiler()
{
	fp=new CFile();
}

BOOL CFiler::open(CString filename)
{
	fp->Open(filename,CFile::modeNoTruncate|CFile::modeReadWrite,NULL);

	if(fp==NULL)
	{
		return FALSE;
	}

	this->filename=filename;

	return TRUE;
}

CString CFiler::read(CString object)
{
	long length=fp->GetLength();

	char buffer[5000];

	if((fp->Read(buffer,length))==NULL)
	{
		return "";
	}

	CString content=CString(buffer,length);

	int start=content.Find(object,0);
	if(start==-1)
	{
		return "";
	}

	start+=object.GetLength()+1;

	int pos=content.Find("</"+object+">",start);

	return content.Mid(start,pos-start);
}

BOOL CFiler::write(CString content,CString object)
{
	long length=fp->GetLength();

	char buffer[50000];

	if(!fp->Read(buffer,length))
	{
		return FALSE;
	}

	CString fc=CString(buffer,length);

	fc.TrimRight(" ");

	length=fc.GetLength();

	int start=fc.Find(object,0);

	CString result="";

	if(start==-1)
	{
		result="<"+object+">"+content+"</"+object+">";

		result=fc+"\r\n"+result;
	}
	else
	{
		start+=object.GetLength()+1;

		result=fc.Left(start);

		result+=content;

		int pos=fc.Find("</"+object+">",start);

		result+=fc.Right(length-pos);
	}

	int lr=result.GetLength();

	if(lr<length)
	{
		for( int i=0;i<(length-lr);i++)
		{
			result+=" ";
		}
	}

	fp->Seek(0,CFile::begin);

	fp->Write(result,result.GetLength());

	return TRUE;
}

void CFiler::close()
{
	fp->Close();
}

⌨️ 快捷键说明

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