stdarg.h
@函数名称: vfprintf
函数原型: int vfprintf(FILE *fp,const char *format, va_list arglist)
函数功能: 同fprintf函数,参数表由一个va_list类型的指针代替
函数返回:
参数说明: fp=文件指针,format=参数格式说明,具体参见printf函数,arglist=参数列表指针
所属文件: <stdio.h>、<stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
FILE *fp;
int vfpf(char *fmt, ...)
@函数名称: vfprintf
函数原型: int vfprintf(FILE *fp,const char *format, va_list arglist)
函数功能: 同fprintf函数,参数表由一个va_list类型的指针代替
函数返回:
参数说明: fp=文件指针,format=参数格式说明,具体参见printf函数,arglist=参数列表指针
所属文件: <stdio.h>、<stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
FILE *fp;
int vfpf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt=vfprintf(fp, fmt, argptr);
va_end(argptr);
return(cnt);
}
int main()
{
int inumber=30;
float fnumber=90.0;
char string[4]="abc";
fp=tmpfile();
if (!fp)
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt=vfprintf(fp, fmt, argptr);
va_end(argptr);
return(cnt);
}
int main()
{
int inumber=30;
float fnumber=90.0;
char string[4]="abc";
fp=tmpfile();
if (!fp)
{
perror("tmpfile() call");
exit(1);
}
vfpf("%d %f %s",inumber,fnumber,string);
rewind(fp);
fscanf(fp,"%d %f %s",&inumber,&fnumber,string);
printf("%d %f %s",inumber,fnumber,string);
fclose(fp);
return 0;
}
@函数名称: vprintf
函数原型: int vprintf(const char *format, va_list arglist)
perror("tmpfile() call");
exit(1);
}
vfpf("%d %f %s",inumber,fnumber,string);
rewind(fp);
fscanf(fp,"%d %f %s",&inumber,&fnumber,string);
printf("%d %f %s",inumber,fnumber,string);
fclose(fp);
return 0;
}
@函数名称: vprintf
函数原型: int vprintf(const char *format, va_list arglist)
函数功能: 同printf函数,参数表由一个va_list类型的指针代替
函数返回:
参数说明: format=参数格式说明,具体参见printf函数,arglist=参数列表指针
所属文件: <stdio.h>、<stdarg.h>
#include <stdio.h>
#include <stdarg.h>
int vpf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr,format);
cnt=vprintf(fmt,argptr);
va_end(argptr);
return(cnt);
函数返回:
参数说明: format=参数格式说明,具体参见printf函数,arglist=参数列表指针
所属文件: <stdio.h>、<stdarg.h>
#include <stdio.h>
#include <stdarg.h>
int vpf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr,format);
cnt=vprintf(fmt,argptr);
va_end(argptr);
return(cnt);
}
int main()
{
int inumber=30;
float fnumber=90.0;
char *string="abc";
vpf("%d %f %s",inumber,fnumber,string);
return 0;
}
@函数名称: vsprintf
函数原型: int vsprintf(char *buf,const char *format, va_list arglist)
函数功能: 同sprintf函数,参数表由一个va_list类型的指针代替
函数返回:
int main()
{
int inumber=30;
float fnumber=90.0;
char *string="abc";
vpf("%d %f %s",inumber,fnumber,string);
return 0;
}
@函数名称: vsprintf
函数原型: int vsprintf(char *buf,const char *format, va_list arglist)
函数功能: 同sprintf函数,参数表由一个va_list类型的指针代替
函数返回:
参数说明: format=参数格式说明,具体参见printf函数,arglis=参数列表指针
所属文件: <stdio.h>,<stdarg.h>
#include <stdio.h>
#include <conio.h>
#include <stdarg.h>
char buffer[80];
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt=vsprintf(buffer,fmt,argptr);
va_end(argptr);
return(cnt);
所属文件: <stdio.h>,<stdarg.h>
#include <stdio.h>
#include <conio.h>
#include <stdarg.h>
char buffer[80];
int vspf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt=vsprintf(buffer,fmt,argptr);
va_end(argptr);
return(cnt);
}
int main()
{
int inumber=30;
float fnumber=90.0;
char string[4]="abc";
vspf("%d %f %s",inumber,fnumber,string);
printf("%s",buffer);
return 0;
}
@函数名称: vscanf
函数原型: int vscanf(char *format, va_list param)
函数功能: 从stdin中执行格式化输入
函数返回:
int main()
{
int inumber=30;
float fnumber=90.0;
char string[4]="abc";
vspf("%d %f %s",inumber,fnumber,string);
printf("%s",buffer);
return 0;
}
@函数名称: vscanf
函数原型: int vscanf(char *format, va_list param)
函数功能: 从stdin中执行格式化输入
函数返回:
参数说明:
所属文件: <stdio.h>,<stdarg.h>
#include <stdio.h>
#include <conio.h>
fprintf作用#include <stdarg.h>
int vscnf(char *fmt, ...)
{
va_list argptr;
int cnt;
printf("Enter an integer, a float, and a string (e.g. i,f,s,)");
va_start(argptr,fmt);
cnt=vscanf(fmt,argptr);
va_end(argptr);
return(cnt);
所属文件: <stdio.h>,<stdarg.h>
#include <stdio.h>
#include <conio.h>
fprintf作用#include <stdarg.h>
int vscnf(char *fmt, ...)
{
va_list argptr;
int cnt;
printf("Enter an integer, a float, and a string (e.g. i,f,s,)");
va_start(argptr,fmt);
cnt=vscanf(fmt,argptr);
va_end(argptr);
return(cnt);
}
int main()
{
int inumber;
float fnumber;
char string[80];
vscnf("%d, %f, %s",&inumber,&fnumber,string);
printf("%d %f %s",inumber,fnumber,string);
return 0;
}
@函数名称: va_start
函数原型: void va_start(va_list argptr,Npara)
函数功能: 开始使用可变参数,该函数和va_end,va_arg配合使用
函数返回:
int main()
{
int inumber;
float fnumber;
char string[80];
vscnf("%d, %f, %s",&inumber,&fnumber,string);
printf("%d %f %s",inumber,fnumber,string);
return 0;
}
@函数名称: va_start
函数原型: void va_start(va_list argptr,Npara)
函数功能: 开始使用可变参数,该函数和va_end,va_arg配合使用
函数返回:
参数说明: argptr=void类型指针,类型va_list是一个void类型的指针,Npara=可变参数的个数
所属文件: <stdarg.h>
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#define ESCAPE 27
void tprintf(int row,int col,char *fmt, ...)
{
auto va_list ap;
char *p1, *p2;
所属文件: <stdarg.h>
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#define ESCAPE 27
void tprintf(int row,int col,char *fmt, ...)
{
auto va_list ap;
char *p1, *p2;
va_start(ap,fmt);
p1=va_arg(ap,char*);
p2=va_arg(ap,char*);
printf("%c[%2.2d;%2.2dH",ESCAPE,row,col);
printf(fmt,p1,p2);
va_end(ap);
}
int main()
{
struct tm time_of_day;
time_t ltime;
auto char buf[26];
time(<ime);
p1=va_arg(ap,char*);
p2=va_arg(ap,char*);
printf("%c[%2.2d;%2.2dH",ESCAPE,row,col);
printf(fmt,p1,p2);
va_end(ap);
}
int main()
{
struct tm time_of_day;
time_t ltime;
auto char buf[26];
time(<ime);
_localtime(<ime,&time_of_day);
tprintf(12,1,"Date and time is:%s\n",_asctime(&time_of_day,buf));
return 0;
}
@函数名称: va_end
函数原型: void va_end(va_list argptr)
函数功能: 停止使用可变参数,该函数和va_start,va_arg配合使用
函数返回:
参数说明: argptr=void类型指针,类型va_list是一个void类型的指针
所属文件: <stdarg.h>
暂时没有
#include <stdio.h>
#include <stdarg.h>
tprintf(12,1,"Date and time is:%s\n",_asctime(&time_of_day,buf));
return 0;
}
@函数名称: va_end
函数原型: void va_end(va_list argptr)
函数功能: 停止使用可变参数,该函数和va_start,va_arg配合使用
函数返回:
参数说明: argptr=void类型指针,类型va_list是一个void类型的指针
所属文件: <stdarg.h>
暂时没有
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#define ESCAPE 27
void tprintf(int row,int col,char *fmt, ...)
{
auto va_list ap;
char *p1,*p2;
va_start(ap,fmt);
p1=va_arg(ap,char*);
p2=va_arg(ap,char*);
printf("%c[%2.2d;%2.2dH",ESCAPE,row,col);
printf(fmt,p1,p2);
va_end(ap);
#define ESCAPE 27
void tprintf(int row,int col,char *fmt, ...)
{
auto va_list ap;
char *p1,*p2;
va_start(ap,fmt);
p1=va_arg(ap,char*);
p2=va_arg(ap,char*);
printf("%c[%2.2d;%2.2dH",ESCAPE,row,col);
printf(fmt,p1,p2);
va_end(ap);
}
int main()
{
struct tm time_of_day;
time_t ltime;
auto char buf[26];
time(<ime);
_localtime(<ime,&time_of_day);
tprintf(12,1,"Date and time is:%s\n",_asctime(&time_of_day,buf));
return 0;
}
@函数名称: va_arg
函数原型: tpye va_arg(va_list argptr, type)
int main()
{
struct tm time_of_day;
time_t ltime;
auto char buf[26];
time(<ime);
_localtime(<ime,&time_of_day);
tprintf(12,1,"Date and time is:%s\n",_asctime(&time_of_day,buf));
return 0;
}
@函数名称: va_arg
函数原型: tpye va_arg(va_list argptr, type)
函数功能: 调用可变参数列表,该函数和va_start,va_end配合使用
函数返回:
参数说明: argprt=void类型指针,指向可变参数,类型va_list是一个void类型的指针,type=参数类型
所属文件: <stdarg.h>
#include <stdio.h>
#include <stdarg.h>
void test_fn(const char *msg,const char *types, ... );
int main()
{
printf("VA...TEST\n");
test_fn("ARAMETERS: 1,\"abc\",546","isi",1,"abc",546);
test_fn("ARAMETERS: \"def\", 789","si","def",789 );
函数返回:
参数说明: argprt=void类型指针,指向可变参数,类型va_list是一个void类型的指针,type=参数类型
所属文件: <stdarg.h>
#include <stdio.h>
#include <stdarg.h>
void test_fn(const char *msg,const char *types, ... );
int main()
{
printf("VA...TEST\n");
test_fn("ARAMETERS: 1,\"abc\",546","isi",1,"abc",546);
test_fn("ARAMETERS: \"def\", 789","si","def",789 );
return 0;
}
static void test_fn(
const char *msg, /* message to be printed */
const char *types, /* parameter types (i,s) */
... ) /* variable arguments */
{
va_list argument;
int arg_int;
char *arg_string;
const char *types_ptr;
types_ptr=types;
printf("\n%s -- %s\n",msg,types);
}
static void test_fn(
const char *msg, /* message to be printed */
const char *types, /* parameter types (i,s) */
... ) /* variable arguments */
{
va_list argument;
int arg_int;
char *arg_string;
const char *types_ptr;
types_ptr=types;
printf("\n%s -- %s\n",msg,types);
va_start(argument,types);
while(*types_ptr!='\0'){
if(*types_ptr=='i'){
arg_int=va_arg(argument,int);
printf("integer: %d\n",arg_int);
}else if(*types_ptr=='s'){
arg_string=va_arg(argument,char*);
printf("string: %s\n",arg_string);
}
++types_ptr;
}
va_end(argument);
}
while(*types_ptr!='\0'){
if(*types_ptr=='i'){
arg_int=va_arg(argument,int);
printf("integer: %d\n",arg_int);
}else if(*types_ptr=='s'){
arg_string=va_arg(argument,char*);
printf("string: %s\n",arg_string);
}
++types_ptr;
}
va_end(argument);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论