求教一个文件操作的问题! 我往文件中写入了如下格式的日志信息:"2003-2-1 12:33:21 打开数据库失败....""2003-2-3 02:43:08 更新成功"两条日志记录之间是以回车符隔开的. 现在要求我将某个时间以前的记录删除,请问大家怎么处理比较好啊!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 读取文件到一个buffer,然后比较字符 record.txt2003-2-1 12:33:21 打开数据库失败....2003-2-2 02:43:08 更新成功2003-2-3 02:45:18 dosomething 92003-2-4 02:45:18 dosomething 102003-2-5 02:45:18 dosomething 112003-2-6 02:45:18 dosomething 122003-2-7 02:45:18 dosomething 132003-2-8 02:45:18 dosomething 142003-2-9 03:46:08 dosomething 152003-2-10 02:47:08 dosomething 162003-2-11 02:43:08 dosomething 172003-2-12 02:43:38 dosomething 182003-2-14 02:43:58 dosomething 192003-2-17 02:43:08 dosomething 20 int intFindFlag = 0; int intRecFlag = 0; CString strWanted(""); CString content; CString strDert; //删除strDest之前的所有记录 strDert.Format("2003-2-6 02:45:18"); CFile fread; if(fread.Open("d:\\record.txt", CFile::modeRead) == 0) //record.txt为日志文件 return 0; CArchive ar(&fread, CArchive::load); while(ar.ReadString(content)) { intFindFlag = content.Find(strDert); if(intFindFlag != -1) { AfxMessageBox("haha,find it"); intRecFlag = 1; } if(intRecFlag == 1) { strWanted += content; strWanted += '\r'; strWanted += '\n'; } } TRACE("%s", strWanted); ar.Close(); fread.Close(); CFile fwrite; fwrite.Open("d:\\record.txt",CFile::modeCreate|CFile::modeWrite); fwrite.Write(strWanted, strWanted.GetLength()); fwrite.Close(); 【寻】好的电子书模板 mscomm串口控件内存增加4K的问题,多种方法无法解决,已经解决的朋友看下,谢谢! 传参 LPVOID* & 的问题 帮忙下载个东东,偶上不去codeproject 关于new的一个问题。各位指点一下! 搞了n年的开发现在终于入门了,高兴呀!!!! Dll關於new CDynLinkLibrary(ExtDllDLL);的問題 求手机源代码!特别是短消息字符处理方面!! 初学ADO的两个问题 多线程问题 写成什么程序(库)才能在win2k和UNINX下都能调用?谢谢 一个小问题,高手帮忙呀
2003-2-2 02:43:08 更新成功
2003-2-3 02:45:18 dosomething 9
2003-2-4 02:45:18 dosomething 10
2003-2-5 02:45:18 dosomething 11
2003-2-6 02:45:18 dosomething 12
2003-2-7 02:45:18 dosomething 13
2003-2-8 02:45:18 dosomething 14
2003-2-9 03:46:08 dosomething 15
2003-2-10 02:47:08 dosomething 16
2003-2-11 02:43:08 dosomething 17
2003-2-12 02:43:38 dosomething 18
2003-2-14 02:43:58 dosomething 19
2003-2-17 02:43:08 dosomething 20
int intRecFlag = 0;
CString strWanted("");
CString content;
CString strDert; //删除strDest之前的所有记录
strDert.Format("2003-2-6 02:45:18"); CFile fread;
if(fread.Open("d:\\record.txt", CFile::modeRead) == 0) //record.txt为日志文件
return 0;
CArchive ar(&fread, CArchive::load); while(ar.ReadString(content))
{
intFindFlag = content.Find(strDert);
if(intFindFlag != -1)
{
AfxMessageBox("haha,find it");
intRecFlag = 1;
}
if(intRecFlag == 1)
{
strWanted += content;
strWanted += '\r';
strWanted += '\n';
}
}
TRACE("%s", strWanted);
ar.Close();
fread.Close(); CFile fwrite;
fwrite.Open("d:\\record.txt",CFile::modeCreate|CFile::modeWrite);
fwrite.Write(strWanted, strWanted.GetLength());
fwrite.Close();