在开发过程中输出调试信息总是必不可少的,之前习惯性的使用cout和printf,发现并不能输出调试信息到输出窗口中,后来通过网上了解之后,cout和printf只能输出信息到dos窗口中,但是如果我们的界面中不需要用到dcs窗口呢,经过网上查阅资料,发现有如下两种方法:
1.使用TRACE()函数
int feet;
int inches;
TRACE("F:%d I:%d\n", feet, inches);
2.使用OutputDebugString()函数
int feet;
int inches;
CString str;
str.Format(L"F:%d I:%d\n", feet, inches);
OutputDebugString(str);
在使用OutputDebugString时候要注意,参数类型为LPCWSTR,这里我们可以查看定义:
#ifdef UNICODE
#define OutputDebugString OutputDebugStringW
#else
#define OutputDebugString OutputDebugStringA
#endif // !UNICODE
OutputDebugStringW(
_In_opt_ LPCWSTR lpOutputString
);
所以我在使用OutputDebugString之前先定义了一个CString实例。
以上两种方法都可以输出调试信息,在使用TRACE输出调试信息的时候,还会将输出调试信息的文件的绝对路径输出出来。