阅读:3214回复:6
vsprintf 和 _vstprintf有什么区别吗?各用在什么地方?
?
|
|
|
沙发#
发布于:2002-10-23 17:25
配合va_start等函数你可以实现变参数函数,如下面的例子:
这个函数是用来在发生错误的时候,把作后的错误转换成文字,可以这样调用 DumpLastError( \"发生了一个错误,在打开文件(%s)的时候:\", szFileName ); 格式字符串和printf 的一样...... void DumpLastError( const char* format, ... ) { DWORD nErrorCode = GetLastError(); va_list arglist; va_start(arglist, format); char tip[ 2048 ]; vsprintf( tip, format, arglist ); LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, nErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); _xprintf(\"%s<%s\", tip, (LPCTSTR)lpMsgBuf ); LocalFree( lpMsgBuf ); } 这2个函数没有什么区别.... :mad: :mad: :mad: :mad: |
|
|
板凳#
发布于:2002-10-23 18:30
是不是说这些带下划线地函数与不带下划线地函数可以通用?
|
|
|
地板#
发布于:2002-10-23 19:23
应该是的,你可以在头文件里搜一下这两个函数的定义,有一个应该是宏…………………………………………
|
|
|
地下室#
发布于:2002-10-24 11:21
肥猫,你抢我的生意哦 :mad: :mad: :mad: :mad:
|
|
|
5楼#
发布于:2002-10-24 11:23
肥猫,你抢我的生意哦 :mad: :mad: :mad: :mad: Faint!我是换页抢分的强盗 :mad: :mad: :mad: :mad: :mad: |
|
|
6楼#
发布于:2002-11-19 01:03
系统函数有时加上先下划线是为了防止用户程序与他重复!
|
|
|