ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-09-19 14:33:47  阅读:120  来源: 互联网

标签:va vprintf 语言 C语言 printf world 函数


目录

零基础 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 函数区别

本文由博客 - 猿说编程 猿说编程 发布!

标签:va,vprintf,语言,C语言,printf,world,函数
来源: https://www.cnblogs.com/shuopython/p/15311492.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有