文件流操作 将程序的错误写成log!

whitechocolate 2005-07-28 04:13:45
找到文件最后的部分, 开始写入错误的信息,等于就是一个错误记录程序
应该怎么写啊!
...全文
219 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
teli_eurydice 2005-07-29
  • 打赏
  • 举报
回复
log4j
icecools 2005-07-29
  • 打赏
  • 举报
回复
the best method is to use the log4cpp
sboom 2005-07-29
  • 打赏
  • 举报
回复
是一个log类,过于简单不知道怎样解释了。
oyljerry 2005-07-29
  • 打赏
  • 举报
回复
只能把数据都读出来,然后删除需要的,重新写入
whitechocolate 2005-07-29
  • 打赏
  • 举报
回复
谢谢各位大哥这么热心
还有一个就是每次程序错误的记录会记录到log中,但是到一定数量之后我想把最早的一条删除
比如
“今天”
“昨天”
“前天”

我想把“前天”的记录删除以此类推 怎么办?
菲斯可儿 2005-07-28
  • 打赏
  • 举报
回复
五花八门啊,我来欣赏的。
AntonlioX 2005-07-28
  • 打赏
  • 举报
回复
CFile file;
file.Open("C:\\mytxt.txt",CFile::modeWrite);
file.SeekToEnd();
CString sErrInfo;
file.Write(sErrInfo,sErrInfo.GetLength());
file.Close();
kugou123 2005-07-28
  • 打赏
  • 举报
回复
CFile m_file;
m_file.Open("c:\\err.log",CFile::modeWrite);
m_file.SeekToEnd();
char szErrInfo[1024];
memset(szEffInfo,'\0',sizeof(szErrInfo));

……
…… //设置错误信息

m_file.Write(szErrInfo,sizeof(szErrInfo));

m_file.Close();
thundenet 2005-07-28
  • 打赏
  • 举报
回复
再try..catch结构中添加如下代码:

CFile myFile;
myFile.Open("C:\\myfile.txt",CFile::modeWrite);
myFile.SeekToEnd();
CString sErrInfo="the error ...";
myFile.Write(sErrInfo,sErrInfo.GetLength());
myFile.Close();
sboom 2005-07-28
  • 打赏
  • 举报
回复
class CLoger
{
fstream f;
string strFileName;
public:
CLoger(void);
~CLoger(void);

void SetFileName(char *strFileName);

int Log(char *msg);
};

CLoger::CLoger(void)
{
strFileName=".\\DefaultLogFile.txt";
}

CLoger::~CLoger(void)
{
if(f.is_open ())
f.close ();
}

int CLoger::Log(char *msg)
{
if(!f.is_open ())
f.open (strFileName.data (),ios::app|ios::out);

if(!f.is_open ())
return -1;

SYSTEMTIME t;
::GetLocalTime (&t);

f<<t.wYear<<"-"<<t.wMonth <<"-"<<t.wDay <<" ";
f<<t.wHour <<":"<<t.wMinute <<":"<<t.wSecond <<" ";
f<<msg<<endl;

return 0;
}

void CLoger::SetFileName(char *strFileName)
{
this->strFileName =strFileName;
}
dirdirdir3 2005-07-28
  • 打赏
  • 举报
回复
SeekToEnd()
Kudeet 2005-07-28
  • 打赏
  • 举报
回复
try
{
...// file operataion
}
catch(...)
{
CFile logfile(...);//每次捕捉到错误就写入文件
...
}
快乐鹦鹉 2005-07-28
  • 打赏
  • 举报
回复
CFile file;
file.Open("C:\\mytxt.txt",CFile::modeWrite);
file.SeekToEnd();
CString sErrInfo;
file.Write(sErrInfo,sErrInfo.GetLength());
file.Close();
umbrella1984 2005-07-28
  • 打赏
  • 举报
回复
CFile f,f.Open...
然后f.SeekToEnd()
ddgfei 2005-07-28
  • 打赏
  • 举报
回复
使用CFile,或者OpenFile都可以

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧