Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::print(std::ostream)

      From cppreference.com
      <cpp‎ |io‎ |basic ostream
       
       
       
       
      Defined in header<ostream>
      template<class...Args>
      void print(std::ostream& os,std::format_string<Args...> fmt, Args&&...args);
      (since C++23)

      Formatsargs according to the format stringfmt, and inserts the result intoos stream.

      If theordinary literal encoding is UTF-8, equivalent to:

      The behavior is undefined ifstd::formatter<Ti,char> does not meet theBasicFormatter requirements for anyTi inArgs (as required bystd::make_format_args).

      Contents

      [edit]Parameters

      os - output stream to insert data into
      fmt -an object that represents the format string. The format string consists of
      • ordinary characters (except{ and}), which are copied unchanged to the output,
      • escape sequences{{ and}}, which are replaced with{ and} respectively in the output, and
      • replacement fields.

      Each replacement field has the following format:

      {arg-id(optional)} (1)
      {arg-id(optional):format-spec} (2)
      1) replacement field without a format specification
      2) replacement field with a format specification
      arg-id - specifies the index of the argument inargs whose value is to be used for formatting; if it is omitted, the arguments are used in order.

      Thearg-id s in a format string must all be present or all be omitted. Mixing manual and automatic indexing is an error.

      format-spec - the format specification defined by thestd::formatter specialization for the corresponding argument. Cannot start with}.

      (since C++23)
      (since C++26)
      • For other formattable types, the format specification is determined by user-definedformatter specializations.
      args... - arguments to be formatted

      [edit]Exceptions

      [edit]Notes

      Feature-test macroValueStdFeature
      __cpp_lib_print202207L(C++23)Formatted output
      __cpp_lib_format202207L(C++23)Exposingstd::basic_format_string

      [edit]Example

      Run this code
      #include <array>#include <cctype>#include <cstdio>#include <format>#include <numbers>#include <ranges>#include <sstream> int main(){std::array<char,24> buf;std::format_to(buf.begin(),"{:.15f}",std::numbers::sqrt2); unsigned num{}, sum{}; for(auto n: buf| std::views::filter(isdigit)| std::views::transform([](char x){return x-'0';})| std::views::take_while([&sum](char){return sum<42;}))        sum+= n,++num; std::stringstream stream; #ifdef __cpp_lib_printstd::print(stream,#else    stream<<std::format(#endif"√2\N{ALMOST EQUAL TO} {0}.\n""The sum of its first {1} digits is {2}.",std::numbers::sqrt2, num, sum); std::puts(stream.str().data());}

      Output:

      √2 ≈ 1.4142135623730951.The sum of its first 13 digits is 42.

      [edit]See also

      outputsformatted representation of the arguments with appended'\n'
      (function template)[edit]
      (C++23)
      prints tostdout or a file stream usingformatted representation of the arguments
      (function template)[edit]
      (C++20)
      stores formatted representation of the arguments in a new string
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ostream/print&oldid=180556"

      [8]ページ先頭

      ©2009-2025 Movatter.jp