c 函数不定参数(不限参数)使用实例 不定参数输出函数
2010-12-24 11:17
309 查看
va_start:根据参数入栈的特点,从最近第一个可变参数的固定参数开始,依次获取每个可变参数的地址。
头文件:#include <stdarg.h>
/**
函数名: vprintf
功 能: 送格式化输出到stdout中
用 法: int vprintf(char *format, va_list param);
程序例:
**/
#include <stdio.h>
#include <stdarg.h>
int vpf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vprintf(fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char *string = "abc";
vpf("%d %f %s/n",inumber,fnumber,string);
system("pause");
return 0;
}
/**
函数名: vfprintf
功 能: 送格式化输出到一流中
用 法: int vfprintf(FILE *stream, char *format, va_list param);
程序例:
**/
#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(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
fp = tmpfile();
if (fp == NULL)
{
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/n", inumber, fnumber, string);
fclose(fp);
return 0;
}
头文件:#include <stdarg.h>
/**
函数名: vprintf
功 能: 送格式化输出到stdout中
用 法: int vprintf(char *format, va_list param);
程序例:
**/
#include <stdio.h>
#include <stdarg.h>
int vpf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vprintf(fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber = 30;
float fnumber = 90.0;
char *string = "abc";
vpf("%d %f %s/n",inumber,fnumber,string);
system("pause");
return 0;
}
/**
函数名: vfprintf
功 能: 送格式化输出到一流中
用 法: int vfprintf(FILE *stream, char *format, va_list param);
程序例:
**/
#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(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
fp = tmpfile();
if (fp == NULL)
{
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/n", inumber, fnumber, string);
fclose(fp);
return 0;
}
相关文章推荐
- c++中参数不定函数和va_list的使用
- .NET中使用ORACLE函数和过程并输出参数(2)
- 实例解析使用指针作为函数参数传递需要注意的问题
- C语言不定参数个数,可变参数函数使用学习
- PowerShell函数使用正则表达式验证输入参数实例
- 编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 –> 12345,要求使用递归,并且函数体代码不超过8行
- 创建和使用不定数目参数的函数
- 接口使用的两种方式:直接implements 和 把接口实例当作函数的参数传进去
- .NET中使用ORACLE函数和过程并输出参数(3)使用游标返回列表
- 实例讲解在C++的函数中变量参数及默认参数的使用
- 函数_实例4_使用位置参数和函数返回结果
- 需要DLL函数输出的结果信息,尽量使用传入参数做为输出变量~!
- java 泛型使用和不定参数函数定义
- 怎样让一个函数有不定长的参数列表?(附代码实例)
- C语言中不定参数函数的使用
- 例题:把一个超市购物的题做成函数。这个题做成函数没有必要,但可以了解输入参数,输出参数,返回值,函数体,还有结构体,ArryList集合,for循环算结果,以及集合里 .count的使用
- C语言中不定参数函数的使用
- xargs可以将一个命令的输出作为另一个命令的参数——参看实例的使用
- C函数调用-不使用函数返回值,而用参数实现输入/输出的4种模式
- .NET中使用ORACLE函数和过程并输出参数(1)