1 ASSERT
Debug下用,检测错误
assert(fin != NULL && fout != NULL);断言,在debug模式下,当fin或者fout其中一个为空时,程序就会被断下,弹出一个断言窗口,表示这两个变量中的一个或则两个为空,程序有异常
2 Log
OK,还是log好用些
3 Debug
慢,卡机,偶尔用
4 MessageBox
不需要Debug,偶尔用
win32中使用,需要引入<windows.h>
例1 字符串
MessageBox(NULL,TEXT("HELLO!"),TEXT("标题"),MB_OK);
例2 字符串,数字混合
UINT a =99;
TCHAR szBuffer[1024];
LPCTSTR str = TEXT("适配器的显示模式的个数: %i");
wsprintf(szBuffer, str, a);
MessageBox(NULL, szBuffer, TEXT("适配器"), MB_OK);
例3 字符串,多个数字混合 UINT a =99;
UINT b =77;
TCHAR szBuffer[1024];
LPCTSTR str = TEXT("适配器的显示模式的个数: %i %i");
wsprintf(szBuffer, str, a,b);
MessageBox(NULL, szBuffer, TEXT("适配器"), MB_OK);
5 OutDebugString
需要在Debug下运行,不好用,下面代码暂时无法运行
win32的api,需要引入<windows.h>
使用方法
#include <stdio.h> #include <stdarg.h> #include <ctype.h> void __cdecl odprintf(const char *format, ...) { char buf[4096], *p = buf; va_list args; va_start(args, format); p += _vsnprintf(p, sizeof buf - 1, format, args); va_end(args); while ( p > buf && isspace(p[-1]) ) *--p = '/0'; *p++ = '/r'; *p++ = '/n'; *p = '/0'; OutputDebugString(buf); }调用
odprintf("Cannot open file %s [err=%ld]", fname, GetLastError());
6 录像