目錄
- 一.vprintf 函數和 printf 函數聲明簡介
- 1.printf 函數聲明
- 2.vprintf 函數聲明
- 二.vprintf 函數和 printf 函數使用
- 三.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
int printf(const char *format, ...);
/*
*描述:将可變參數清單的格式化資料列印到stdout
*參數:
* format 包含格式字元串的C字元串,其格式字元串與printf中的格式相同。
*
* arg 辨別使用va_start初始化的變量參數清單的值。
va_list是在<cstdarg>中定義的特殊類型。
*
*傳回值:
* 成功後,傳回寫入的字元總數。
* 如果發生寫入錯誤,則會設定錯誤訓示符(ferror)并傳回負數。
* 如果在編寫寬字元時發生多位元組字元編碼錯誤,則将errno設定為EILSEQ,并傳回負數;
*/
int vprintf ( const char * format, va_list arg );
注意:兩者傳參的差別,實際上 printf 底層就是調用 vprintf 函數來将内容輸出到控制台的;
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
函數來将内容輸出到控制台的;
- C 語言 數組下标越界和記憶體溢出差別
- C 語言 使用指針周遊數組
- C 語言 指針和數組差別
- C 語言 指針數組和數組指針差別
- C 語言 野指針
- C 語言 函數值傳遞和址傳遞
- C 語言 函數不定長參數
- C 語言 函數指針
- C 語言 指針函數
- C 語言 回調函數 callback
- C 語言 #pragma once
- C 語言 #include <> 與 #include “” 差別
- C 語言 const 修飾函數參數
- C 語言 const 和 define 差別
- C 語言 #運算符
- C 語言 ##運算符
- C 語言 __VA_ARGS__
- C 語言 ##__VA_ARGS__
- C 語言 函數不定長參數 ##__VA_ARGS__經典案例
- C 語言 va_start 宏
- C 語言 va_end 宏
- C 語言 va_arg 宏
- C 語言 vprintf 函數
- C 語言 vprintf 函數和 printf 函數差別
未經允許不得轉載:猿說程式設計 » C 語言 vprintf 函數和 printf 函數差別
本文由部落格 - 猿說程式設計 猿說程式設計 釋出!