内存泄漏?
请高手帮忙看看,下面的代码有内存泄漏吗?
void GetCT(char* buf)
{
SYSTEMTIME st;
GetLocalTime(&st);
sprintf(buf,"%d-%d-%d %d:%d:%d",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
}
void WriteError (LONG lError, LPCTSTR lptszMessage)
{
// Display message-box and return with an error-code
FILE* stream=NULL;
char filename[100];
sprintf(filename,"runlog.log");
stream=fopen(filename,"a+");
if(stream)
{
fseek(stream, 0, SEEK_END);
long len = ftell(stream)/1024;
fclose(stream);
stream=NULL;
if(len>400)
{
COleDateTime olect=COleDateTime::GetCurrentTime();
CString odatetime=olect.Format("%Y%m%d%H%M%S");
CString oldfile(filename);
CString cpfile=oldfile+"."+odatetime;
if(CopyFile(filename,cpfile,false))
DeleteFile(filename);
}
stream=fopen(filename,"a+");
if(stream)
{
char buf[1024];
GetCT(buf);
if(lError!=0)
fprintf(stream,"%s:%s(error code %d)\n",buf,lptszMessage,lError);
else
fprintf(stream,"%s:%s\n",buf,lptszMessage);
fclose(stream);
}
}
}