目录

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

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

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

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

1.printf 函数声明

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

2.vprintf 函数声明

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

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

二.vprintf 函数和 printf 函数使用

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

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

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.co
//@File:C语言教程 - C语言 vprintf 函数和 printf 函数区别
//@Time:2021/07/16 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include "stdafx.h"
#include <stdio.h>
#include <stdarg.h>
void myPtintf(char *format, ...)
{va_list args;va_start(args, format);vprintf(format, args);va_end(args);
}
int main()
{myPtintf("自定义printf函数:hello world\n");myPtintf("自定义printf函数:%s %s\n", "hello world", "C语言教程-猿说编程");printf("系统printf函数:hello world\n");printf("系统printf函数:%s %s\n", "hello world", "C语言教程-猿说编程");return(0);
}/*
输出:
自定义printf函数:hello world
自定义printf函数:hello world C语言教程-猿说编程
系统printf函数:hello world
系统printf函数:hello world C语言教程-猿说编程
*/

实际上 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 函数区别

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

  1. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  2. C语言 vprintf 函数 - C语言零基础入门教程

    目录 一.vprintf 函数和 printf 函数声明简介 1.printf 函数声明 2.vprintf 函数声明 二.vprintf 函数和 printf 函数使用 三.猜你喜欢 零基础 C/C ...

  3. C语言 va_start / va_end / va_arg 自定义 printf 函数 - C语言零基础入门教程

    目录 一.前言 二.函数不定长参数简介 1.va_start 2.va_arg 3.va_end 三.win32 控制台版本 四.MFC 对话框版本 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : ...

  4. C语言 printf 函数 - C语言零基础入门教程

    目录 一.printf 函数简介 二.C 语言格式符/占位符 三.printf 函数实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...

  5. C语言 函数指针和指针函数区别 - C语言零基础入门教程

    目录 一.函数指针和指针函数声明的区别 1.函数指针 2.指针函数 二.函数指针和指针函数调用的区别 1.函数指针的调用 2.指针函数的调用 三.猜你喜欢 零基础 Python 学习路线推荐 : C/ ...

  6. C语言 assert 函数 - C语言零基础入门教程

    目录 一.assert 函数简介 二.assert 函数使用 三.assert 函数用法总结与注意事项 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C ...

  7. C语言 abort 函数 - C语言零基础入门教程

    目录 一.abort 函数简介 二.abort 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.abort 函数简介 C 语 ...

  8. C语言 main 函数参数 main(int argc, char *argv[]) - C语言零基础入门教程

    目录 一.main 函数写法 二.main 函数参数简介 三.使用 main 函数参数 1.打印 main 函数参数 a.直接运行 exe 文件 b.打开 cmd 命令行窗口执行 exe 文件 c.打 ...

  9. C语言 main 函数 - C语言零基础入门教程

    目录 一.main 函数简介 二.main 函数写法 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.main 函数简介 main 函 ...

最新文章

  1. js自己定义插件-选项卡
  2. c语言趣味教学题目及答案,C语言趣味程序设计-题目百例.doc
  3. 在SQLServer中自动产生移动数据库的TSQL语句
  4. [html] 编写一个布局,让文字环绕在图片的周围
  5. java二维数组的常见初始化
  6. GDB 命令详细解释
  7. SpringBoot实战(十一):MultipartException: Could not parse multipart servlet request
  8. Java 异常的捕获与处理详解 (一)
  9. 计算机获取图像的设备有,多媒体计算机获取图像的方法有:使用数码相机、______、数码摄像机、数码摄像头、视频捕捉卡,以及直接在计算机上...
  10. 外卖行业现状分析_2020年中国外卖行业市场现状和发展趋势分析 外卖下沉趋势明显【组图】...
  11. python3超简代码爬取桌面壁纸
  12. vue 两种文档下载方法的实现(后台传递文件流,后台返回文件下载地址)
  13. okhttp https ip直连设置Host
  14. 管理每日日程提醒以及待办清单的备忘便签有哪些
  15. 最简单的加载器免杀思路
  16. 2022年Roguelike“割草”游戏风潮为何刮的如此强劲?
  17. 中国彩妆行业营销现状分析与投资机会研究报告2022版
  18. chrome点击书签栏书签_如何充分利用Chrome书签栏
  19. Ubuntu 16.04安装有道词典
  20. SeaJS从入门到原理

热门文章

  1. MYSQL深潜 - 剖析Performance Schema内存管理
  2. SLS多云日志采集、处理及分析
  3. 阿里云 ESSD 采用自研新一代存储网络协议,打造“超级高速”
  4. 二十分钟教你如何将区块链应用与函数计算相结合 1
  5. 机器学习的未来——深度特征融合
  6. 阿里云NAS备份服务
  7. 34 年了,“杀”不死的 Perl!
  8. 大神如何一招完美解决Hadoop集群无法正常关闭的问题!| 博文精选
  9. 写给大数据从业者:数据科学的5个陷阱与缺陷
  10. i 智慧 | 计算产业发展黄金10年 腾讯云弹性计算抢占计算蓝海