當前位置: 首頁>>代碼示例>>C++>>正文


C++ AfxThrowFileException函數代碼示例

本文整理匯總了C++中AfxThrowFileException函數的典型用法代碼示例。如果您正苦於以下問題:C++ AfxThrowFileException函數的具體用法?C++ AfxThrowFileException怎麽用?C++ AfxThrowFileException使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了AfxThrowFileException函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: ASSERT_VALID

UINT CStdioFile::Read(void* lpBuf, UINT nCount)
{
	ASSERT_VALID(this);
	ASSERT(m_pStream != NULL);

	if (nCount == 0)
		return 0;   // avoid Win32 "null-read"

	ASSERT(AfxIsValidAddress(lpBuf, nCount));

	if (lpBuf == NULL)
	{
		AfxThrowInvalidArgException();
	}

	UINT nRead = 0;

	if ((nRead = (UINT)fread(lpBuf, sizeof(BYTE), nCount, m_pStream)) == 0 && !feof(m_pStream))
		AfxThrowFileException(CFileException::genericException, _doserrno, m_strFileName);
	if (ferror(m_pStream))
	{
		Afx_clearerr_s(m_pStream);
		AfxThrowFileException(CFileException::genericException, _doserrno, m_strFileName);
	}
	return nRead;
}
開發者ID:jbeaurain,項目名稱:omaha_vs2010,代碼行數:26,代碼來源:filetxt.cpp

示例2: AfxThrowFileException

UINT CBuffFile::Read(void* lpBuf, UINT nCount)
{
	UINT nRead = 0;

	if ((nRead = fread(lpBuf, sizeof(BYTE), nCount, m_pStream)) == 0 && !feof(m_pStream))
		AfxThrowFileException(CFileException::generic, _doserrno);
	if (ferror(m_pStream))
	{
		clearerr(m_pStream);
		AfxThrowFileException(CFileException::generic, _doserrno);
	}
	return nRead;
}
開發者ID:Madzi,項目名稱:POW,代碼行數:13,代碼來源:Mycbufil.cpp

示例3: switch

LONG CMyMemFile::Seek(LONG lOff, UINT nFrom)
{
    switch(nFrom)
    {
    case CFile::begin:
        if(NULL != m_pData)
        {
            m_pData -= m_dwLength;
            m_pData += lOff;
        }
        m_dwLength = lOff;
        break;

    case CFile::current:
        if(NULL != m_pData)
        {
            m_pData += lOff;
        }
        m_dwLength += lOff;
        break;

    case CFile::end:
    default:
        AfxThrowFileException(CFileException::badSeek);
    }
    return m_dwLength;
}
開發者ID:tomorrow56,項目名稱:VS2010,代碼行數:27,代碼來源:MyMemFile.cpp

示例4: AfxThrowFileException

void PASCAL CFileException::ThrowErrno(int nErrno,
	LPCTSTR lpszFileName /* = NULL */)
{
	if (nErrno != 0)
		AfxThrowFileException(CFileException::ErrnoToException(nErrno),
			_doserrno, lpszFileName);
}
開發者ID:Ugnis,項目名稱:Far-NetBox,代碼行數:7,代碼來源:filex.cpp

示例5: ASSERT

void CStdioFileEx::WriteWideString(LPCWSTR lpsz)
{
   ASSERT(lpsz != NULL);
   
   if (lpsz == NULL)
   {
      AfxThrowInvalidArgException();
   }
   if(m_bIsUnicodeText)
   {
      ASSERT(m_pStream != NULL);
      // If writing Unicode and at the start of the file, need to write byte mark
      if(GetPosition() == 0)
      {
         wchar_t cBOM = (wchar_t)UNICODE_BOM;
         CFile::Write(&cBOM, sizeof(wchar_t));
      }
      if (fputws(lpsz, m_pStream) == _TEOF)
         AfxThrowFileException(CFileException::diskFull, _doserrno, m_strFileName);
   }
   else
   {
      USES_CONVERSION;
      WriteAnsiString(CW2A(lpsz));
   }
}
開發者ID:jhpeng,項目名稱:FreeMyUSB,代碼行數:26,代碼來源:StdioFileEx.cpp

示例6: ASSERT

UINT CConverter::Read(void FAR* lpBuf, UINT nCount)
{
	ASSERT(m_bForeignToRtf);
	if (m_bDone)
		return 0;
	// if converter is done
	int cch = nCount;
	BYTE* pBuf = (BYTE*)lpBuf;
	while (cch != 0)
	{
		if (m_nBytesAvail == 0)
		{
			if (m_pBuf != NULL)
				GlobalUnlock(m_hBuff);
			m_pBuf = NULL;
			SetEvent(m_hEventConv);
			WaitForConverter();
			VERIFY(ResetEvent(m_hEventFile));
			if (m_bConvErr)
				AfxThrowFileException(CFileException::generic);
			if (m_bDone)
				return nCount - cch;
			m_pBuf = (BYTE*)GlobalLock(m_hBuff);
			ASSERT(m_pBuf != NULL);
		}
		int nBytes = min(cch, m_nBytesAvail);
		memcpy(pBuf, m_pBuf, nBytes);
		pBuf += nBytes;
		m_pBuf += nBytes;
		m_nBytesAvail -= nBytes;
		cch -= nBytes;
		OutputPercent(m_nPercent);
	}
	return nCount - cch;
}
開發者ID:BraveStone,項目名稱:wordpad,代碼行數:35,代碼來源:multconv.cpp

示例7: CMemFile

COXRegistryValFile::COXRegistryValFile(HKEY hkey, LPCTSTR lpszKey, LPCTSTR lpszValue)
	: CMemFile(1024), m_key(0)
	{
	LONG error;
	if (!Open(hkey, lpszKey, lpszValue, error))
		AfxThrowFileException(CFileException::accessDenied, error, lpszKey);
	}
開發者ID:drupalhunter-team,項目名稱:TrackMonitor,代碼行數:7,代碼來源:OXRegistryValFile.cpp

示例8: AfxThrowFileException

uint64 CSafeMemFile::ReadUInt64()
{
	if (m_nPosition + sizeof(uint64) > m_nFileSize)
		AfxThrowFileException(CFileException::endOfFile, 0, GetFileName());
	uint64 nResult = *((uint64*)(m_lpBuffer + m_nPosition));
	m_nPosition += sizeof(uint64);
	return nResult;
}
開發者ID:litaobj,項目名稱:easymule,代碼行數:8,代碼來源:SafeFile.cpp

示例9: ASSERT

void CStdioFile::WriteString(LPCTSTR lpsz)
{
	ASSERT(lpsz != NULL);
	ASSERT(m_pStream != NULL);

	if (_fputts(lpsz, m_pStream) == _TEOF)
		AfxThrowFileException(CFileException::diskFull, _doserrno, m_strFileName);
}
開發者ID:Rupan,項目名稱:winscp,代碼行數:8,代碼來源:filetxt.cpp

示例10: ASSERT_VALID

void CStdioFile::Flush()
{
	ASSERT_VALID(this);

	if (m_pStream != NULL && fflush(m_pStream) != 0)
		AfxThrowFileException(CFileException::diskFull, _doserrno,
			m_strFileName);
}
開發者ID:Rupan,項目名稱:winscp,代碼行數:8,代碼來源:filetxt.cpp

示例11: va_start

int CSafeBufferedFile::printf(LPCTSTR pszFmt, ...)
{
	va_list args;
	va_start(args, pszFmt);
	int iResult = _vftprintf(m_pStream, pszFmt, args);
	va_end(args);
	if (iResult < 0)
		AfxThrowFileException(CFileException::generic, _doserrno, m_strFileName);
	return iResult;
}
開發者ID:litaobj,項目名稱:easymule,代碼行數:10,代碼來源:SafeFile.cpp

示例12: AfxThrowFileException

void PASCAL CFileException::ThrowErrno(int nErrno)
{
	if (nErrno != 0)
		AfxThrowFileException(CFileException::ErrnoToException(nErrno),
#ifndef _MAC
			_doserrno);
#else
			GetLastError());
#endif
}
開發者ID:rickerliang,項目名稱:OpenNT,代碼行數:10,代碼來源:filex.cpp

示例13: ASSERT

void CSocketFile::Write(const void* lpBuf, UINT nCount)
{
	ASSERT (m_pSocket!=NULL);

	int nWritten = m_pSocket->Send(lpBuf, nCount);
	if (nWritten == SOCKET_ERROR)
	{
		int nError = m_pSocket->GetLastError();
		AfxThrowFileException(CFileException::generic, nError);
	}
}
開發者ID:rickerliang,項目名稱:OpenNT,代碼行數:11,代碼來源:sockcore.cpp

示例14: _ASSERTE

BOOL CStdioFileEx::ReadWideString(CStringW& rString)
{
   _ASSERTE(m_pStream);
   rString = L"";// empty string without deallocating
   
   if(m_bIsUnicodeText)
   {
      // If at position 0, discard byte-order mark before reading
      if(GetPosition() == 0)
      {
         wchar_t bom;
         Read(&bom, sizeof(wchar_t));
      }
      const int nMaxSize = 128;
      LPWSTR lpsz = rString.GetBuffer(nMaxSize);
      LPWSTR lpszResult;
      int nLen = 0;
      for (;;)
      {
         lpszResult = fgetws(lpsz, nMaxSize+1, m_pStream);
         rString.ReleaseBuffer();
         
         // handle error/eof case
         if (lpszResult == NULL && !feof(m_pStream))
         {
            Afx_clearerr_s(m_pStream);
            AfxThrowFileException(CFileException::genericException, _doserrno,
               m_strFileName);
         }
         
         // if string is read completely or EOF
         if (lpszResult == NULL || (nLen = (int)lstrlenW(lpsz)) < nMaxSize || lpsz[nLen-1] == '\n')
            break;
         
         nLen = rString.GetLength();
         lpsz = rString.GetBuffer(nMaxSize + nLen) + nLen;
      }
      //remove crlf if exist.
      nLen = rString.GetLength();
      if (nLen > 1 && rString.Mid(nLen-2) == L"\r\n")
      {
         rString.GetBufferSetLength(nLen-2);
      }
      return rString.GetLength() > 0;
   }
   else
   {
      CStringA ansiString;
      BOOL bRetval = ReadAnsiString(ansiString);
      //setlocale(LC_ALL, "chs_chn.936");//no need
      rString = ansiString;
      return bRetval;
   }
}
開發者ID:jhpeng,項目名稱:FreeMyUSB,代碼行數:54,代碼來源:StdioFileEx.cpp

示例15: fclose

void CBuffFile::Close()
{
	int nErr= 0;
	if (m_pStream != NULL)
		nErr = fclose(m_pStream);

	m_hFile = hFileNull;
	m_bCloseOnDelete = FALSE;
	m_pStream = NULL;

	if (nErr != 0)
		AfxThrowFileException(CFileException::diskFull, _doserrno);
}
開發者ID:Madzi,項目名稱:POW,代碼行數:13,代碼來源:Mycbufil.cpp


注:本文中的AfxThrowFileException函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。