大家先看下OutputDebugString的函数声明:
/******** 天鹰网络战队 < v2rj.com > ***************************************************
iOutputDebugString : sends a string to the debugger for display.输出调试字符串
lpOutputString [in] Pointer to the null-terminated string to be displayed.
This function does not return a value.
If the application has no debugger, the system debugger displays the string. If the application has no debugger and the system debugger is not active, OutputDebugString does nothing.
***************************************************************************************/
MI void iStdCall OutputDebugStringA(icchar* lpOutputString);
MI void iStdCall OutputDebugStringW(icwchar* lpOutputString);
函数很简单,参数就一个,就是要调试输出的字符串。
为了方便使用,我们天鹰网络战队对这个函数的一些常用操作进行了简化的自己定义:
1、首先对OutputDebugString进行简化,毕竟这个函数名称太长了,每次输入太浪费时间了,所以我们采用了Put这个英文的首字母P来代替OutputDebugString函数
#define P(a) OutputDebugString(a)
2、针对不定参数的使用,即我们天鹰网络战队P1函数用法
类似于sprintf函数的用法,比如可以
P1(“%d , %s”, 16, “dasf” );
3、关于天鹰网络战队的P2用法,用于输出一些常用的结构,比如
iSystemTime tm;
iPt pt;
iRect rct;
iCol col = RGB(5,255,5 );
...
P2( &tm );
P2( &pt );
P2( &rct );
P2( col );
4 、关于天鹰网络战队的P3用法,用于输出一个字符串的前面N个字符
P3( s, 10 ); 则只输出s这个字符串前面10个字符。
,