目錄
- 一.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 函式來將內容輸出到控制臺的;
三.猜你喜歡
- 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 函式區別
本文由博客 - 猿說編程 猿說編程 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/350693.html
標籤:其他
上一篇:Web爬蟲|入門實戰之貓眼電影
