미분류 항목
[VS2017] cout()/ printf() 출력 VisualStudio 출력 윈도우에 안 나올때
하니_즐거운하루
2024. 9. 24. 16:14
: Visual Studio 출력 창에 cout(), printf() 메시지가 나오지 않을경우 디버그 콘솔창으로는 나오는데
출력윈도우로 나오지 않을경우 구글링으로 답이 안나옴.
▶ 과감하게 OutputDebugString() 으로 변경해 주세요.
#include <iostream>
/////////////////////////////////////////////////////////////////////////////
// COutputBar
COutputWnd::COutputWnd() noexcept
{
std::cerr << L"Hello World! on cout\n";
printf("Hello ! on printf\n");
OutputDebugString(L"test 123 \n\r");
}
> 출력창
'MFCApplication1.exe'(Win32): 'C:\Windows\System32\wldp.dll'을(를) 로드했습니다. PDB 파일을 찾거나 열 수 없습니다.
'MFCApplication1.exe'(Win32): 'C:\Windows\System32\kernel.appcore.dll'을(를) 로드했습니다. PDB 파일을 찾거나 열 수 없습니다.
test 123
'MFCApplication1.exe'(Win32): 'C:\Windows\System32\DataExchange.dll'을(를) 로드했습니다. PDB 파일을 찾거나 열 수 없습니다.
'MFCApplication1.exe'(Win32): 'C:\Windows\System32\d3d11.dll'을(를) 로드했습니다. PDB 파일을 찾거나 열 수 없습니다.
▶ 혹시 아래의 빌드에러 발생하면 (정의가 되어 있지 않습니다.)
오류(활성) E0020 식별자 "OutputDebugString"이(가) 정의되어 있지 않습니다,
#include <Windows.h> 추가해주세요.
▶ printf 처럼 동작 하게 하기위한 수정사항
#define _MY_DEBUG
void MyOutputDebugString(LPCTSTR pszStr, ...)
{
#ifdef _MY_DEBUG
TCHAR szMsg[256];
va_list args;
va_start(args, pszStr);
_vswprintf(szMsg, pszStr, args);
OutputDebugString(szMsg);
va_end(args);
#endif
}
참고하세요.
반응형