format.cpp

来自「IO函数调用测试」· C++ 代码 · 共 43 行

CPP
43
字号
#include "stdafx.h"

#include "format.h"


/****************************************************************************
*                            formatError
* Inputs:
*       DWORD err: Error message
* Result: CString
*       Display string for error
****************************************************************************/

CString formatError(DWORD err)
    {
     LPTSTR msg;

     if(::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
			FORMAT_MESSAGE_FROM_SYSTEM,
			NULL,
			err,
			0, 
			(LPTSTR)&msg,
			0, NULL))
	{ /* formatted */
	 LPTSTR p = _tcschr(msg, _T('\r'));
	 if(p != NULL)
	    *p = _T('\0');
	 CString s(msg);
	 LocalFree(msg);
	 return s;
	} /* formatted */
     else
	{ /* can't format */
	 CString s;
	 int severity = (err >> 30) & 0x3;
	 int system = (err >> 29) & 0x1;
	 int value = (err & 0x07FFFFFF);
	 s.Format(_T("? %d:%d:%06d ?"), severity, system, value);
	 return s;
	} /* can't format */
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?