• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <format>

    std::vformat

    namespace std {
      string vformat(string_view fmt, format_args args); // (1)
    
      wstring vformat(wstring_view fmt, wformat_args args); // (2)
    
      string vformat(const locale& loc, string_view fmt, format_args args); // (3)
    
      wstring vformat(const locale& loc, wstring_view fmt, wformat_args args); // (4)
    }
    

    概要

    書式文字列fmtに従ったフォーマットでargsの文字列表現を文字列オブジェクトで返す。

    • (1): マルチバイト文字列版
    • (2): ワイド文字列版
    • (3): マルチバイト文字列版 (ロケール指定あり)
    • (4): ワイド文字列版 (ロケール指定あり)

    formatのフォーマット引数を型消去したバージョンであり、内部的に使用される。文字列をフォーマットする目的で直接利用する必要はない。 ただし、formatのような関数を自作する場合は、vformatを使って実装すると便利である。

    戻り値

    argsの文字列表現を保持する文字列

    例外

    フォーマット実行時に失敗した場合、format_errorを投げる。

    実装例

    string vformat(string_view fmt, format_args args) {
      string str;
      vformat_to(back_inserter(str), fmt.str, args);
      return str;
    }
    
    string vformat(wstring_view fmt, wformat_args args) {
      wstring str;
      vformat_to(back_inserter(str), fmt.str, args);
      return str;
    }
    
    string vformat(const locale& loc, string_view fmt, format_args args) {
      string str;
      vformat_to(loc, back_inserter(str), fmt.str, args);
      return str;
    }
    
    string vformat(const locale& loc, wstring_view fmt, wformat_args args) {
      wstring str;
      vformat_to(loc, back_inserter(str), fmt.str, args);
      return str;
    }
    

    バージョン

    言語

    • C++20

    処理系

    参照