C 的參數個數不定函數

[華語, cmn-Hant-TW]

不常用,剛剛好有要用到,記一下。
用在要把輸入重新包裝丟給sprintf的時候
(不過這邊應該是給 vsprintf 才對)

首先是會用到 stdarg.h。
直接看 code 比較快,大致上就是用 va_list 宣告一個串列,然後用 va_start() 指到第一個參數,用完之後呼叫 va_end() 就可以了,其他的功能這邊用不到。

info( char* format, ... ) {
  char buffer[1024];
  va_list args;
  va_start( args, format );
  vsprintf( buffer, format, args );
  va_end( args );
}

Leave a Reply

Your email address will not be published. Required fields are marked *