Esempio n. 1
0
FILE *FileOpen(const string FileName, const string Mode)
{
     FILE *FilePtr;

     if (stricmp(Mode, "w") == 0 &&
              (FilePtr = fopen(FileName, "r")) != NULL)
     {
          /* Writing to an existing file: back it up. */
          FileBackup(FileName, FilePtr);
     }

     if ( (FilePtr = fopen(FileName, Mode)) == NULL)
          Error("File %s cannot be opened.\n", FileName);

     return FilePtr;
}
Esempio n. 2
0
BOOL CFileBase::GetHandle(const SYSTEMTIME &Time, 
						  FILE** Handle)
{
	USING_TIME_INFO;
	FileBackup(Time);
	m_sLastTime = Time;

	if (NULL != m_pFileHandle)
	{
		*Handle = m_pFileHandle;
		return TRUE;
	}

	CString strFileName;
	if (!GetFileName(Time, strFileName))
		return FALSE;

	SetFileName(strFileName);
	m_pFileHandle = _wfsopen(strFileName, _T("ab"), _SH_DENYNO);
	if (NULL == m_pFileHandle)
	{
		CString strError;
		strError.Format(_T("Create file[%s] error:%s!!!"), 
			strFileName, AtlGetErrorDescription(GetLastError()));
		LOGGER_WRITE(strError.GetBuffer());
		LogEvent(strError);
		return FALSE;
	}

	fseek(m_pFileHandle, 0, SEEK_END);
	m_iFileSize = ftell(m_pFileHandle);

	*Handle = m_pFileHandle;

	return TRUE;
}