Ejemplo n.º 1
0
/**F*****************************************************************/
void xstrerror (char *fmt, ...) 
/**
 * PURPOSE : Display windows error
 *
 * RETURN :  Nothing
 *
 * NOTES :   None
 *
 *F*/
{
  char    *error=NULL;
  va_list arglist;
  char    buffer[2048];
  DWORD   dwError=GetLastError();
  
  va_start (arglist, fmt);
  wvnsprintf (buffer, sizeof(buffer) - 1, fmt, arglist);
  va_end (arglist);
  
  if (FormatMessage (
      FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
      NULL, dwError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 
      (LPSTR)&error, 0, NULL))
  {
    printf ("[ %s : %s\n", buffer, error);
    LocalFree (error);
  } else {
    printf ("[ %s : %i\n", buffer, dwError);
  }
}
Ejemplo n.º 2
0
std::wstring strconv::formatW(int nMaxChar, const wchar_t* fmt, ...)
{
	wchar_t* buf = new wchar_t[nMaxChar];
	va_list args;
	va_start(args, fmt);
#ifdef _WIN32
	wvnsprintf(buf, nMaxChar, fmt, args);
#else
	vswprintf(buf, nMaxChar, fmt, args);
#endif
	std::wstring sRes = buf;
	delete [] buf;
	return sRes;
}