在 C 和 C 語言中,printf 和 sprintf 函數用於格式化列印和寫入。這些函數允許指定格式字串來控制後續參數的列印方式。但是,可能存在提前未知要列印的參數數量的情況。這就提出瞭如何向這些函數傳遞可變數量的參數的問題。
標準 C 函式庫提供了 vfprintf 函數,它可以處理可變數量的參數。它需要兩個強制參數:
以下程式碼片段示範如何使用vfprintf:
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
在此範例中,Error 函數採用格式字串作為第一個參數和任意數量的附加參數。這些參數透過 va_list 訪問,該清單使用 va_start 初始化。然後使用格式字串和 va_list 呼叫 vfprintf 函數。最後,va_end用於清理va_list。
以上是如何在 C 和 C 中將可變數量的參數傳遞給 printf/sprintf ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!