Or use something like this(not my code, author unknown):
Code:
#include <windows.h>
#include <stdarg.h>
#include <stdio.h>
#include <tchar.h>
int CDECL MessageBoxPrintf (TCHAR * szFormat, ...)
{
TCHAR szBuffer [1024] ;
va_list pArgList ;
va_start (pArgList, szFormat) ;
_vsntprintf (szBuffer, sizeof (szBuffer) / sizeof (TCHAR),
szFormat, pArgList) ;
szBuffer[(sizeof (szBuffer) / sizeof (TCHAR)) - 1] = TEXT('\0') ;
va_end (pArgList) ;
return MessageBox (NULL, szBuffer, TEXT("Debug Message"), 0) ;
}
Code:
MessageBoxPrintf("The error returned was %d.", GetLastError());
EDIT:
Nul termination added as pointed out by JasonD.