C++輸出到Output窗口

每次都不能直接搜索到C++輸出到Output窗口的有效全部代碼,故而自己寫出來直接用 TraceOutput 和 TraceOutputW 即可

這是輸出兩參數的

#include <Windows.h>

	static wchar_t* CastToWideChar(const char* pszMultiByte)
	{
		int iSize;
		wchar_t* pwszUnicode;
		
		iSize = MultiByteToWideChar(CP_ACP, 0, pszMultiByte, -1, NULL, 0);
		pwszUnicode = (wchar_t *)malloc(iSize * sizeof(wchar_t));
		MultiByteToWideChar(CP_ACP, 0, pszMultiByte, -1, pwszUnicode, iSize);
		return pwszUnicode;
	}

	static void TraceOutput(const char* format, const char* parameter)
	{
		int length1 = strlen(format);
		int length2 = strlen(parameter);
		int length = length1 + length2 + 1;
		wchar_t *buffer = new wchar_t[length];

		swprintf_s(buffer, length, CastToWideChar(format), CastToWideChar(parameter));
		OutputDebugString(buffer);

		delete buffer;
		buffer = NULL;
	}

	static void TraceOutputW(const wchar_t* format, const wchar_t* parameter)
	{
		int length1 = wcslen(format);
		int length2 = wcslen(parameter);
		int length = length1 + length2 + 1;
		wchar_t *buffer = new wchar_t[length];

		swprintf_s(buffer, length, format, parameter);
		OutputDebugString(buffer);

		delete buffer;
		buffer = NULL;
	}

還有寫個不限輸出參數的,下次再發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章