函数名: 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;  

}