109.vprintf vfprintf vscanf vfscanf

Posted 喵小喵~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了109.vprintf vfprintf vscanf vfscanf相关的知识,希望对你有一定的参考价值。

  • vprintf
     1 //输出到屏幕
     2 int POUT(char *str, ...)
     3 {
     4     va_list arg_p=NULL;
     5     //读取
     6     va_start(arg_p, str);
     7     //接受可变参数
     8     int n = vprintf(str,arg_p);
     9     va_end(arg_p);
    10     return n;
    11 }
  • 1 //测试函数
    2 void main()
    3 {
    4     POUTX("%s %d %d %s", "123", 1,1900,"234");
    5     getchar();
    6 }

     

  • vfprintf
     1 //输出到文件
     2 int POUTX(char *str, ...)
     3 {
     4     va_list arg_p = NULL;
     5     //读取
     6     va_start(arg_p, str);
     7     //接受可变参数在一个文件,保存参数不确定,类型不确定的情况
     8     int n = vfprintf(stdout,str, arg_p);
     9     va_end(arg_p);
    10     return n;
    11 }

     

  • vscanf
     1 //从屏幕接收数据
     2 int PIN(char *str,...)
     3 {
     4 
     5     va_list arg_p = NULL;
     6     va_start(arg_p, str);//读取
     7     int n =vscanf(str, arg_p);//接受可变参数
     8     va_end(arg_p);
     9     return n;
    10 }

     

  • vfscanf
     1 //从文件接收数据
     2 int PINX(char *str, ...)
     3 {
     4 
     5     va_list arg_p = NULL;
     6     va_start(arg_p, str);//读取
     7     int n = vfscanf(stdin,str, arg_p);//接受可变参数
     8     va_end(arg_p);
     9     return n;
    10 }
    1 //测试函数
    2 void main()
    3 {
    4     char str[20];
    5     int n;
    6     PINX("%s%d", str, &n);
    7     printf("str=%s,n=%d", str, n);
    8     system("pause");
    9 }

     

以上是关于109.vprintf vfprintf vscanf vfscanf的主要内容,如果未能解决你的问题,请参考以下文章

Esxi主机与VCSA从6.0升级至6.0 U2

ESXI使用记录---6.7搭建HA

print系列函数(formatted output conversion)

标准文件IO详解---格式化 IO

如何理解printf变参函数的实现

Global.asax - FxCop 警告冲突 CA1811 与 CA2109