Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_stringstream<CharT,Traits,Allocator>::str

      From cppreference.com
      <cpp‎ |io‎ |basic stringstream

      [edit template]
       
       
       
       
      (1)
      std::basic_string<CharT, Traits, Allocator> str()const;
      (until C++20)
      std::basic_string<CharT, Traits, Allocator> str()const&;
      (since C++20)
      template<class SAlloc>
      std::basic_string<CharT, Traits, SAlloc> str(const SAlloc& a)const;
      (2)(since C++20)
      std::basic_string<CharT, Traits, Allocator> str()&&;
      (3)(since C++20)
      void str(conststd::basic_string<CharT, Traits, Allocator>& s);
      (4)
      template<class SAlloc>
      void str(conststd::basic_string<CharT, Traits, SAlloc>& s);
      (5)(since C++20)
      void str(std::basic_string<CharT, Traits, Allocator>&& s);
      (6)(since C++20)
      template<class StringViewLike>
      void str(const StringViewLike& t);
      (7)(since C++26)

      Manages the contents of the underlying string object.

      1) Returns a copy of the underlying string. Equivalent toreturn rdbuf()->str();.
      2) Returns a copy of the underlying string, usinga as allocator. Equivalent toreturn rdbuf()->str(a);.
      3) Returns a string move-constructed from the underlying string. Equivalent toreturn std::move(*rdbuf()).str();.
      4,5) Replaces the contents of the underlying string. Equivalent tordbuf()->str(s);.
      6) Replaces the contents of the underlying string. Equivalent tordbuf()->str(std::move(s));.
      7) Replaces the contents of the underlying string. Equivalent tordbuf()->str(t);.
      This overload participates in overload resolution only ifis_convertible_v<const T&, basic_string_view<charT, traits>> istrue.

      Contents

      [edit]Parameters

      s - new contents of the underlying string
      t - an object (convertible tostd::basic_string_view) to use as the new contents of the underlying string
      a - allocator used to construct the returned string

      [edit]Return value

      1,2) A copy of the underlying string object.
      3) A string move-constructed from the underlying string object.
      4-7) (none)

      [edit]Notes

      The copy of the underlying string returned bystr is a temporary object that will be destructed at the end of the expression, so directly callingc_str() on the result ofstr() (for example inauto*ptr= out.str().c_str();) results in a dangling pointer.

      Feature-test macroValueStdFeature
      __cpp_lib_sstream_from_string_view202306L(C++26)Interfacingstd::stringstreams withstd::string_view,(7)

      [edit]Example

      Run this code
      #include <iostream>#include <sstream> int main(){int n; std::istringstream in;// could also use in("1 2")    in.str("1 2");    in>> n;std::cout<<"After reading the first int from\"1 2\", the int is "<< n<<", str() =\""<< in.str()<<"\"\n"; std::ostringstream out("1 2");    out<<3;std::cout<<"After writing the int '3' to output stream\"1 2\""<<", str() =\""<< out.str()<<"\"\n"; std::ostringstream ate("1 2",std::ios_base::ate);    ate<<3;std::cout<<"After writing the int '3' to append stream\"1 2\""<<", str() =\""<< ate.str()<<"\"\n";}

      Output:

      After reading the first int from "1 2", the int is 1, str() = "1 2"After writing the int '3' to output stream "1 2", str() = "3 2"After writing the int '3' to append stream "1 2", str() = "1 23"

      [edit]See also

      returns the underlying raw string device object
      (public member function)[edit]
      replaces or obtains a copy of the associated character string
      (public member function ofstd::basic_stringbuf<CharT,Traits,Allocator>)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_stringstream/str&oldid=116191"

      [8]ページ先頭

      ©2009-2025 Movatter.jp