我如何让一个函数,可以接受不定量的参数,? 这些参数是不定量的。我怎么接收他 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOLprintx( char *fmt, ... ){ va_list ap; int d; char c; char *s; //char buf[ 50 ]; //char g_buf[ 200 ]; //memset( g_buf, 0, 200 ); va_start( ap, fmt ); while( *fmt ) { switch( *fmt ) { case '\%': fmt++; switch( *fmt ) { case 's': /* string */ s = va_arg( ap, char * ); printf( "%s", s ); //sprintf( buf, "%s", s ); //strcat( g_buf, buf ); break; case 'd': /* int */ d = va_arg( ap, int ); printf( "%d", d ); //sprintf( buf, "%d", d ); //strcat( g_buf, buf ); break; case 'u': /* int */ d = va_arg( ap, int ); printf( "%u", d ); //sprintf( buf, "%u", d ); //strcat( g_buf, buf ); break; case 'x': /* hex */ d = va_arg( ap, int ); printf( "%x", d ); //sprintf( buf, "%x", d ); //strcat( g_buf, buf ); break; case 'c': /* char */ c = ( char )va_arg( ap, int ); printf( "%c", c ); //sprintf( buf, "%c", c ); //strcat( g_buf, buf ); break; case '\%': printf( "%c", '\%' ); //sprintf( buf, "%c", *fmt ); //strcat( g_buf, buf ); break; default: printf( "%c", *fmt ); //sprintf( buf, "%c", *fmt ); //strcat( g_buf, buf ); break; } break; default: printf( "%c", *fmt ); //sprintf( buf, "%c", *fmt ); //strcat( g_buf, buf ); break; } fmt++; } va_end( ap ); //printf( "\n%s", g_buf ); //setbkgnd( ( unsigned char * )g_buf ); return TRUE;} 声明如下BOOL printx( char *fmt, ... ); 看一下MFC源程序CString::Format函数的实现就知道了, 对内存消耗熟悉的进来,高手速进!!!! ListCtrl怎么样才能插入一个圆形的Item? 如何获得基于CFormView工程自动生成的对话框CWnd的对象? 菜啊菜,讨教高手. 不是 视图/文档 的应用!!! 怎样制作帮助? =====怎样把DWORD转成CString?====== 如何做 标签在下面的多视,点击下面的标签可以切换。。? 文件可不可以一边读一边写呀 我在什么地方找那个东东? (CSocket)Listen()函数疑惑,请作过C/S的兄弟给说说,在线等....... 我客户端跟服务器端总连不上,是怎么个事?我是新手,请大家多多帮助,谢谢!
printx( char *fmt, ... )
{
va_list ap;
int d;
char c;
char *s;
//char buf[ 50 ];
//char g_buf[ 200 ];
//memset( g_buf, 0, 200 ); va_start( ap, fmt );
while( *fmt )
{
switch( *fmt )
{
case '\%':
fmt++;
switch( *fmt )
{
case 's': /* string */
s = va_arg( ap, char * );
printf( "%s", s );
//sprintf( buf, "%s", s );
//strcat( g_buf, buf );
break;
case 'd': /* int */
d = va_arg( ap, int );
printf( "%d", d );
//sprintf( buf, "%d", d );
//strcat( g_buf, buf );
break;
case 'u': /* int */
d = va_arg( ap, int );
printf( "%u", d );
//sprintf( buf, "%u", d );
//strcat( g_buf, buf );
break;
case 'x': /* hex */
d = va_arg( ap, int );
printf( "%x", d );
//sprintf( buf, "%x", d );
//strcat( g_buf, buf );
break;
case 'c': /* char */
c = ( char )va_arg( ap, int );
printf( "%c", c );
//sprintf( buf, "%c", c );
//strcat( g_buf, buf );
break;
case '\%':
printf( "%c", '\%' );
//sprintf( buf, "%c", *fmt );
//strcat( g_buf, buf );
break;
default:
printf( "%c", *fmt );
//sprintf( buf, "%c", *fmt );
//strcat( g_buf, buf );
break;
}
break;
default:
printf( "%c", *fmt );
//sprintf( buf, "%c", *fmt );
//strcat( g_buf, buf );
break;
}
fmt++;
}
va_end( ap );
//printf( "\n%s", g_buf );
//setbkgnd( ( unsigned char * )g_buf );
return TRUE;
}
BOOL printx( char *fmt, ... );