我有兩個可變參數函數foo(format, ...)
和bar(format, ...)
。我想實現功能foo
,以便它可以調用bar
具有相同的參數列表。也就是說,使用另一個可變參數函數的未命名參數調用可變參數
foo(format...)
{
...
bar(format, ...);
}
例如,調用foo("(ii)", 1, 2)
將調用bar
與相同參數bar("(ii)", 1, 2)
。 foo
函數應該如何實現?
PS:功能bar
來自遺留庫,我不能改變它的接口。
重複http://stackoverflow.com/questions/150543/forward-an-invocation-of-a-variadic-function-in-c – 2011-03-21 21:32:41
我不知道你想完成什麼,但我幾乎願意打賭你會發現下面的標準庫函數很方便:'vprintf()','vfprintf()'和'vsprintf()'。 – 2011-03-21 21:34:50