Dev/Windows

[VC++] OutputDebugString을 printf처럼 사용하기

공대나왔음 2017. 6. 16. 08:36

Header

//#define NO_DEBUG_PRINT
#ifdef NO_DEBUG_PRINT
#define DEBUG_PRINT
#else
static void _PrintDebugString(const WCHAR *format, ...) {
	WCHAR buf[1024];
	va_list vaList;
	va_start(vaList, format);
	_vsnwprintf_s(buf, sizeof(buf), format, vaList);
	va_end(vaList);
	OutputDebugStringW(buf);
}
static void _PrintDebugString(const char *format, ...) {
	char buf[1024];
	va_list vaList;
	va_start(vaList, format);
	_vsnprintf_s(buf, sizeof(buf), format, vaList);
	va_end(vaList);
	OutputDebugStringA(buf);
}
#define DEBUG_PRINT _PrintDebugString
#endif

Source

// Usage examples
DEBUG_PRINT("Hello World: %s", char_string);
DEBUG_PRINT(L"Hello World: %s", wchar_string);