Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 1.43 KB

File metadata and controls

59 lines (45 loc) · 1.43 KB

vfprintf

  • cstdio[meta header]
  • std[meta namespace]
  • function[meta id-type]
namespace std {
  int vfprintf(FILE* stream, const char* format, va_list arg);
}
  • FILE[link file.md]
  • va_list[link /reference/cstdarg/va_list.md]

概要

可変引数リストva_listを使用し、書式を指定してファイルストリームに出力する。

引数を...で受け取るfprintf()と異なり、va_listとしてまとめられた可変引数を受け取る。可変引数を受け取る自作の関数から、書式付き出力を行いたい場合に使用する。

戻り値

fprintf()と同じ。

備考

  • この関数はva_endマクロを呼び出さないため、呼び出し側でargに対してva_endを実行する必要がある

#include <cstdio>
#include <cstdarg>

// 可変引数を受け取り、書式付きで出力する関数
void log_message(const char* format, ...)
{
  std::va_list args;
  va_start(args, format);
  std::vfprintf(stdout, format, args);
  va_end(args);
}

int main()
{
  log_message("%s: %d\n", "count", 42);
}
  • std::vfprintf[color ff0000]
  • std::va_list[link /reference/cstdarg/va_list.md]
  • va_start[link /reference/cstdarg/va_start.md]
  • va_end[link /reference/cstdarg/va_end.md]

出力

count: 42

関連項目