e(pStrFile, &finddata);
if(INVALID_HANDLE_VALUE == hd)
{
DWORD dwRet = GetLastError();
if(ERROR_FILE_NOT_FOUND == dwRet || ERROR_PATH_NOT_FOUND == dwRet)
{
return LOG_BOOL_FALSE;
}
}
FindClose(hd);
return LOG_BOOL_TRUE;
}
/*********************************************************************
* 函数名称:DWORD GetFileLenth(const char *pFile)
* 说明:判断指定的文件大小
* 调用者:GetLogFileName
* 输入参数:
* const char *pFile --文件名
* 输出参数:
* 无
* 返回值:
* DWORD -- 文件大小
* 作者: duanyongxing
* 时间 : 2009-10-11
*********************************************************************/
DWORD GetFileLenth(const char *pFile)
{
WIN32_FIND_DATA buff;
HANDLE hd = NULL;
memset(&buff, 0, sizeof(WIN32_FIND_DATA));
hd = FindFirstFile(pFile, &buff);
FindClose(hd);
return (buff.nFileSizeHigh * MAXDWORD) + buff.nFileSizeLow;
}
/*********************************************************************
* 函数名称:int Write_Log_Text(LPLOG_DATA lpLogData)
* 说明:写日志内容
* 调用者:Write_Log
* 输入参数:
* LPLOG_DATA lpLogData --日志内容结构体量
* 输出参数:
* 无
* 返回值:
* int -- LOG_FAILED: 失败
* -- LOG_SUCCESS: 成功
* 作者: duanyongxing
* 时间 : 2009-10-11
*********************************************************************/
int Write_Log_Text(LPLOG_DATA lpLogData)
{
char szFilePath[MAX_FILE_PATH];
char szFileName[MAX_LOG_FILE_NAME_LEN];
FILE *pFile = NULL;
char szLogText[MAX_LOGTEXT_LEN];
memset(szFilePath, 0, MAX_FILE_PATH);
memset(szFileName, 0, MAX_LOG_FILE_NAME_LEN);
memset(szLogText, 0, MAX_LOGTEXT_LEN);
GetLogPath(szFilePath);
GetLogFileName(lpLogData->iType, szFilePath, szFileName);
pFile = fopen(szFileName, "a+");
if(NULL == pFile)
{
return LOG_FAILED;
}
sprintf(szLogText, "%s %s %s/n", lpLogData->strDate, lpLogData->strTime,
lpLogData->strText);
fwrite(szLogText, 1, strlen(szLogText), pFile);
fclose(pFile);
return LOG_SUCCESS;
}
摘自 Socrates的专栏
|