CFile m_file("f://test.txt",CFile::modeReadWrite); //这里举个例子
CString lFileContent; //读取的内容
UINT length; //每次选取的长度
char *temp=new char[1024577]; //读取内容的中间变量
memset(temp,0,1024576);
DWORD changelength=0; //这里一定要先初始化一下
if(m_file.GetLength()>=1024576) //根据文件的长度设置每次读取的长度
length=1024576;
else
length=m_file.GetLength();
m_file.SeekToBegin();
//change <BODY to <body
//------------------------------------------------------
while(m_file.Read(temp,length))
{
lFileContent=temp;
lFileContent.Replace("<BODY","<body");
strcpy(temp,lFileContent);
m_file.Seek(changelength,CFile::begin);
m_file.Write(temp,length);
changelength=m_file.GetPosition();
}
m_file.Close();
delete []temp;
temp=0;
终于用CStdiofile类实现了功能了,用Seek(-(changelenth),CFile::current)可以实现,不过好奇怪不知道为什么上面的不可以 。。。
还是先揭帖吧