c语言解决函数变参数问题 va_list
生活随笔
收集整理的這篇文章主要介紹了
c语言解决函数变参数问题 va_list
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言:
看到sprintf,swprintf之類的可變參數(shù)格式化函數(shù),是否想過(guò)我們能寫(xiě)一個(gè)自定義的類似的函數(shù)嗎?答案是很定的,下面來(lái)介紹一種方法,用va_list,va_start, va_end來(lái)實(shí)現(xiàn)。
?????? va_list是一個(gè)宏,使用的時(shí)候先定義一個(gè)變量,然后用va_start來(lái)初始化,使用完后用va_end來(lái)結(jié)束。使用時(shí)我們可以分析每一個(gè)參數(shù),這時(shí)要使用va_argc,但是沒(méi)有方法知道有多少個(gè)參數(shù)。所以可以簡(jiǎn)單的將參數(shù)格式化輸出到一個(gè)緩沖區(qū)里,需要使用函數(shù)vsprintf。
舉一個(gè)簡(jiǎn)單的小例子:
?
轉(zhuǎn)載于:https://www.cnblogs.com/priarieNew/p/9756353.html
總結(jié)
以上是生活随笔為你收集整理的c语言解决函数变参数问题 va_list的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 换种方法学操作系统,轻松入门Linux内
- 下一篇: CentOS7下搭建LAMP+FreeR