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 录像