Try this, if you are using Win API only: INT CDECL ConPrintf (LPCTSTR lpszFormat, ...) { TCHAR szBuffer[1024]; INT iRet; DWORD cbWritten; HANDLE hStdOut = NULL; va_list va; va_start (va, lpszFormat); iRet = wvsprintf (szBuffer, lpszFormat, va); va_end (va); hStdOut = GetStdHandle (STD_OUTPUT_HANDLE); WriteConsole (hStdOut, szBuffer, iRet * sizeof (TCHAR), &cbWritten, NULL); return iRet; } Usage is identical to wsprintf, but it writes to console output.