• ベストアンサー

printf()へのパラメター渡し

void log_msg(int msg_id,const char *msg, ...) { printf(????); /* 渡された"const char *msg, ..."の部分を,printf()を使って出力する*/ /* にはどうしたらよいのでしょうか?ちなみに"const char *msg, ..."は*/ /* "Error %d on device %s", error_val, dev_name)の様に使います */ }

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

こんな感じ。 void log_msg(int msg_id, const char *msg, ...) { va_list ap; va_start(ap, msg); vprintf(msg, ap); va_end(ap); } 可変長引数を扱うには、vprintf() を使います。同様に、fprintf() 相当には、 vfprintf() が、sprintf() には vsprintf() があります。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

vprintf()

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/vprintf.3.html

関連するQ&A