C语言 vprintf 函数和 printf 函数区别 - C语言零基础入门教程

野性酷女 2022-08-28 13:51 343阅读 0赞

目录

  • 一.vprintf 函数和 printf 函数声明简介

    • 1.printf 函数声明
    • 2.vprintf 函数声明
  • 二.vprintf 函数和 printf 函数使用
  • 三.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.vprintf 函数和 printf 函数声明简介

1.printf 函数声明

  1. int printf(const char *format, ...);

2.vprintf 函数声明

  1. /*
  2. *描述:将可变参数列表的格式化数据打印到stdout
  3. *参数:
  4. * format 包含格式字符串的C字符串,其格式字符串与printf中的格式相同。
  5. *
  6. * arg 标识使用va_start初始化的变量参数列表的值。
  7. va_list是在<cstdarg>中定义的特殊类型。
  8. *
  9. *返回值:
  10. * 成功后,返回写入的字符总数。
  11. * 如果发生写入错误,则会设置错误指示符(ferror)并返回负数。
  12. * 如果在编写宽字符时发生多字节字符编码错误,则将errno设置为EILSEQ,并返回负数;
  13. */
  14. int vprintf ( const char * format, va_list arg );

注意:两者传参的区别,实际上 printf底层就是调用 vprintf 函数来将内容输出到控制台的;

二.vprintf 函数和 printf 函数使用

1.vprintf 函数一般和 va_start / va_end 配套使用;

2.常规情况下,输出到控制台,多数情况下使用 printf 函数即可。当你需要自己写一个自定义 printf 函数时候才需要 vprintf 函数,例如:

  1. /******************************************************************************************/
  2. //@Author:猿说编程
  3. //@Blog(个人博客地址): www.codersrc.co
  4. //@File:C语言教程 - C语言 vprintf 函数和 printf 函数区别
  5. //@Time:2021/07/16 08:00
  6. //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  7. /******************************************************************************************/
  8. #include "stdafx.h"
  9. #include <stdio.h>
  10. #include <stdarg.h>
  11. void myPtintf(char *format, ...)
  12. {
  13. va_list args;
  14. va_start(args, format);
  15. vprintf(format, args);
  16. va_end(args);
  17. }
  18. int main()
  19. {
  20. myPtintf("自定义printf函数:hello world\n");
  21. myPtintf("自定义printf函数:%s %s\n", "hello world", "C语言教程-猿说编程");
  22. printf("系统printf函数:hello world\n");
  23. printf("系统printf函数:%s %s\n", "hello world", "C语言教程-猿说编程");
  24. return(0);
  25. }
  26. /*
  27. 输出:
  28. 自定义printf函数:hello world
  29. 自定义printf函数:hello world C语言教程-猿说编程
  30. 系统printf函数:hello world
  31. 系统printf函数:hello world C语言教程-猿说编程
  32. */

实际上 printf 底层就是调用 vprintf 函数来将内容输出到控制台的;

三.猜你喜欢

  1. C 语言 数组下标越界和内存溢出区别
  2. C 语言 使用指针遍历数组
  3. C 语言 指针和数组区别
  4. C 语言 指针数组和数组指针区别
  5. C 语言 野指针
  6. C 语言 函数值传递和址传递
  7. C 语言 函数不定长参数
  8. C 语言 函数指针
  9. C 语言 指针函数
  10. C 语言 回调函数 callback
  11. C 语言 #pragma once
  12. C 语言 #include <> 与 #include “” 区别
  13. C 语言 const 修饰函数参数
  14. C 语言 const 和 define 区别
  15. C 语言 #运算符
  16. C 语言 ##运算符
  17. C 语言 __VA_ARGS__
  18. C 语言 ##__VA_ARGS__
  19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C 语言 va_start 宏
  21. C 语言 va_end 宏
  22. C 语言 va_arg 宏
  23. C 语言 vprintf 函数
  24. C 语言 vprintf 函数和 printf 函数区别

未经允许不得转载:猿说编程 » C 语言 vprintf 函数和 printf 函数区别

发表评论

表情:
评论列表 (有 0 条评论,343人围观)

还没有评论,来说两句吧...

相关阅读