Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ostrstream::ostrstream

      From cppreference.com
      <cpp‎ |io‎ |ostrstream
       
       
       
       
      ostrstream();
      (1)(deprecated in C++98)
      (removed in C++26)
      ostrstream(char* s,int n,std::ios_base::openmode mode=std::ios_base::out);
      (2)(deprecated in C++98)
      (removed in C++26)

      Constructs new output strstream and its underlyingstd::strstreambuf.

      1) Default-constructs the underlyingstd::strstreambuf, which creates a dynamically growing buffer, and initializes the base class with the address of thestrstreambuf member.
      2) Initialized the base class with the address of the underlyingstd::strstreambuf member, which is initialized in one of the two possible ways, both of which write to user-provided fixed-size array:
      a) if theapp bit is not set inmode, constructs the buffer by callingstrstreambuf(s, n, s). The behavior is undefined if there are less thann elements in the array whose first element is pointed to bys
      b) if theapp bit is set inmode, constructs the buffer by callingstrstreambuf(s, n, s+std::strlen(s)). The behavior is undefined if there are less thann elements in the array whose first element is pointed to bys or if the array does not contain a valid null-terminated character sequence.

      [edit]Parameters

      s - char array to use as the output buffer
      n - size of the array to be used as the output buffer
      mode - specifies stream open mode. It is a bitmask type, the following constants are defined (although onlyapp is used):
      Constant Explanation
      app seek to the end of stream before each write
      binary open inbinary mode
      in open for reading
      out open for writing
      trunc discard the contents of the stream when opening
      ate seek to the end of stream immediately after open
      noreplace(C++23) open in exclusive mode

      [edit]Example

      Run this code
      #include <iostream>#include <strstream> int main(){std::ostrstream s1;// dynamic buffer    s1<<1<<' '<<3.14<<" example\n"<<std::ends;std::cout<< s1.str();    s1.freeze(false); char arr[15]="Hello"; std::ostrstream s2(arr, sizeof arr,std::ios_base::app);    s2<<", world!"<<std::ends;std::cout<< s2.str()<<'\n';std::cout<< arr<<'\n';// streams use the provided arrays}

      Output:

      1 3.14 exampleHello, world!Hello, world!

      [edit]See also

      constructs astrstreambuf object
      (public member function ofstd::strstreambuf)[edit]
      constructs anistrstream object, optionally allocating the buffer
      (public member function ofstd::istrstream)[edit]
      constructs astrstream object, optionally allocating the buffer
      (public member function ofstd::strstream)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/ostrstream/ostrstream&oldid=170639"

      [8]ページ先頭

      ©2009-2025 Movatter.jp