可变长度参数 char frm,... char frm...
来源:互联网 发布:网络教学培训 编辑:程序博客网 时间:2024/05/22 09:21
函数名: 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;
}
函数名: vfscanf
功 能: 从流中执行格式化输入
用 法: int vfscanf(FILE *stream, char *format, va_list param);
程序例:
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
FILE *fp;
int vfsf(char *fmt, ...)
{
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = vfscanf(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);
}
fprintf(fp,"%d %f %s/n",inumber,fnumber,string);
rewind(fp);
vfsf("%d %f %s",&inumber,&fnumber,string);
printf("%d %f %s/n",inumber,fnumber,string);
fclose(fp);
return 0;
}
函数名: 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, format);
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);
return 0;
}
函数名: vscanf
功 能: 从stdin中执行格式化输入
用 法: int vscanf(char *format, va_list param);
程序例:
#include <stdio.h>
#include <conio.h>
#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,)/n");
va_start(argptr, fmt);
cnt = vscanf(fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber;
float fnumber;
char string[80];
vscnf("%d, %f, %s", &inumber, &fnumber, string);
printf("%d %f %s/n", inumber, fnumber, string);
return 0;
}
函数名: vsprintf
功 能: 送格式化输出到串中
用 法: int vsprintf(char *string, char *format, va_list param);
程序例:
#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(void)
{
int inumber = 30;
float fnumber = 90.0;
char string[4] = "abc";
vspf("%d %f %s", inumber, fnumber, string);
printf("%s/n", buffer);
return 0;
}
函数名: vsscanf
功 能: 从流中执行格式化输入
用 法: int vsscanf(char *s, char *format, va_list param);
程序例:
#include <stdio.h>
#include <conio.h>
#include <stdarg.h>
char buffer[80] = "30 90.0 abc";
int vssf(char *fmt, ...)
{
va_list argptr;
int cnt;
fflush(stdin);
va_start(argptr, fmt);
cnt = vsscanf(buffer, fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber;
float fnumber;
char string[80];
vssf("%d %f %s", &inumber, &fnumber, string);
printf("%d %f %s/n", inumber, fnumber, string);
return 0;
}
函数vprintf与printf等价,只是用arg替换了变量参数列表,arg由va_start宏初始化,并且va_arg可能会调用它。
- 可变长度参数 char frm,... char frm...
- 可变长度参数 char frm,... char frm...
- FRM-30187: Size of CHAR column in record group must be between 1 and 2000
- FRM-30187: Size of CHAR column in record group must be between 1 and 2000.
- FRM-30187: Size of CHAR column in record group must be between 1 and 2000
- MainFrm.frm
- FirstFrm.frm
- Form1.frm
- FRM-92101
- FRM-92050
- frm表单-参数面板时间控件默认值问题总结
- frm表单-参数面板控件上加链接
- FRM-18108 FRM-10102错误解决
- folder错误frm-41097,frm-41099
- FRM-18108 FRM-10102错误解决
- char (*)[]无法传给参数char **
- char数组最大长度
- char数组长度
- C语言宏定义技巧
- Magic Linux开发入门指南(二)
- JavaScript方法和技巧大全
- 工作流开源项目汇总
- C的Base64加密
- 可变长度参数 char frm,... char frm...
- 深圳针刺毡;深圳过滤袋;深圳除尘袋;深圳工业用布 Shenzhen Needle Punched Felt, Shenzhen Filter Bag,
- .Net类库中实现的HashTable
- C++ —— STL容器分析(2)
- 2.22 Java notes - Enumeration Classes
- 网页的位置编程
- 还有多少程序员可以疯狂
- [翻译]在asp.net 2.0中使用WebParts
- 使用ASP.NET 2.0中的ReportViewer控件