Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      Standard library header <sstream>

      From cppreference.com
      <cpp‎ |header
       
       
      Standard library headers
       

      This header is part of theInput/Output library.

      Contents

      Classes

      implements raw string device
      (class template)[edit]
      implements high-level string stream input operations
      (class template)[edit]
      implements high-level string stream output operations
      (class template)[edit]
      implements high-level string stream input/output operations
      (class template)[edit]
      stringbufstd::basic_stringbuf<char>
      (typedef)
      wstringbufstd::basic_stringbuf<wchar_t>
      (typedef)
      istringstreamstd::basic_istringstream<char>
      (typedef)
      wistringstreamstd::basic_istringstream<wchar_t>
      (typedef)
      ostringstreamstd::basic_ostringstream<char>
      (typedef)
      wostringstreamstd::basic_ostringstream<wchar_t>
      (typedef)
      stringstreamstd::basic_stringstream<char>
      (typedef)
      wstringstreamstd::basic_stringstream<wchar_t>
      (typedef)

      Functions

      specializes thestd::swap algorithm
      (function template)[edit]
      specializes thestd::swap algorithm
      (function template)[edit]
      specializes thestd::swap algorithm
      (function template)[edit]
      specializes thestd::swap algorithm
      (function template)[edit]

      [edit]Synopsis

      namespace std{template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_stringbuf; using stringbuf= basic_stringbuf<char>;using wstringbuf= basic_stringbuf<wchar_t>; template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_istringstream; using istringstream= basic_istringstream<char>;using wistringstream= basic_istringstream<wchar_t>; template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_ostringstream;using ostringstream= basic_ostringstream<char>;using wostringstream= basic_ostringstream<wchar_t>; template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_stringstream;using stringstream= basic_stringstream<char>;using wstringstream= basic_stringstream<wchar_t>;}

      [edit]Class templatestd::basic_stringbuf

      namespace std{template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_stringbuf:public basic_streambuf<CharT, Traits>{public:using char_type= CharT;using int_type=typename Traits::int_type;using pos_type=typename Traits::pos_type;using off_type=typename Traits::off_type;using traits_type= Traits;using allocator_type= Allocator; // constructors    basic_stringbuf(): basic_stringbuf(ios_base::in| ios_base::out){}explicit basic_stringbuf(ios_base::openmode which);explicit basic_stringbuf(const basic_string<CharT, Traits, Allocator>& s,      ios_base::openmode which= ios_base::in| ios_base::out);explicit basic_stringbuf(const Allocator& a): basic_stringbuf(ios_base::in| ios_base::out, a){}    basic_stringbuf(ios_base::openmode which,const Allocator& a);explicit basic_stringbuf(      basic_string<CharT, Traits, Allocator>&& s,      ios_base::openmode which= ios_base::in| ios_base::out);template<class SAlloc>      basic_stringbuf(const basic_string<CharT, Traits, SAlloc>& s,const Allocator& a): basic_stringbuf(s, ios_base::in| ios_base::out, a){}template<class SAlloc>      basic_stringbuf(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which,const Allocator& a);template<class SAlloc>explicit basic_stringbuf(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which= ios_base::in| ios_base::out);    basic_stringbuf(const basic_stringbuf&)= delete;    basic_stringbuf(basic_stringbuf&& rhs);    basic_stringbuf(basic_stringbuf&& rhs,const Allocator& a); // assign and swap    basic_stringbuf& operator=(const basic_stringbuf&)= delete;    basic_stringbuf& operator=(basic_stringbuf&& rhs);void swap(basic_stringbuf& rhs)noexcept(see below); // getters and setters    allocator_type get_allocator()constnoexcept;     basic_string<CharT, Traits, Allocator> str()const&;template<class SAlloc>      basic_string<CharT,Traits,SAlloc> str(const SAlloc& sa)const;    basic_string<CharT, Traits, Allocator> str()&&;    basic_string_view<CharT, Traits> view()constnoexcept; void str(const basic_string<CharT, Traits, Allocator>& s);template<class SAlloc>void str(const basic_string<CharT, Traits, SAlloc>& s);void str(basic_string<CharT, Traits, Allocator>&& s); protected:// overridden virtual functions    int_type underflow() override;    int_type pbackfail(int_type c= Traits::eof()) override;    int_type overflow(int_type c= Traits::eof()) override;    basic_streambuf<CharT, Traits>* setbuf(CharT*, streamsize) override;     pos_type seekoff(off_type off, ios_base::seekdir way,                     ios_base::openmode which= ios_base::in| ios_base::out) override;    pos_type seekpos(pos_type sp,                     ios_base::openmode which= ios_base::in| ios_base::out) override; private:    ios_base::openmode mode;// exposition only    basic_string<CharT, Traits, Allocator> buf;// exposition onlyvoid init_buf_ptrs();// exposition only}; template<class CharT,class Traits,class Allocator>void swap(basic_stringbuf<CharT, Traits, Allocator>& x,              basic_stringbuf<CharT, Traits, Allocator>& y)noexcept(noexcept(x.swap(y)));}

      [edit]Class templatestd::basic_istringstream

      namespace std{template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_istringstream:public basic_istream<CharT, Traits>{public:using char_type= CharT;using int_type=typename Traits::int_type;using pos_type=typename Traits::pos_type;using off_type=typename Traits::off_type;using traits_type= Traits;using allocator_type= Allocator; // constructors    basic_istringstream(): basic_istringstream(ios_base::in){}explicit basic_istringstream(ios_base::openmode which);explicit basic_istringstream(const basic_string<CharT, Traits, Allocator>& s,      ios_base::openmode which= ios_base::in);    basic_istringstream(ios_base::openmode which,const Allocator& a);explicit basic_istringstream(      basic_string<CharT, Traits, Allocator>&& s,      ios_base::openmode which= ios_base::in);template<class SAlloc>      basic_istringstream(const basic_string<CharT, Traits, SAlloc>& s,const Allocator& a): basic_istringstream(s, ios_base::in, a){}template<class SAlloc>      basic_istringstream(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which,const Allocator& a);template<class SAlloc>explicit basic_istringstream(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which= ios_base::in);    basic_istringstream(const basic_istringstream&)= delete;    basic_istringstream(basic_istringstream&& rhs); // assign and swap    basic_istringstream& operator=(const basic_istringstream&)= delete;    basic_istringstream& operator=(basic_istringstream&& rhs);void swap(basic_istringstream& rhs); // members    basic_stringbuf<CharT, Traits, Allocator>* rdbuf()const;    basic_string<CharT, Traits, Allocator> str()const&;template<class SAlloc>      basic_string<CharT,Traits,SAlloc> str(const SAlloc& sa)const;    basic_string<CharT, Traits, Allocator> str()&&;    basic_string_view<CharT, Traits> view()constnoexcept; void str(const basic_string<CharT, Traits, Allocator>& s);template<class SAlloc>void str(const basic_string<CharT, Traits, SAlloc>& s);void str(basic_string<CharT, Traits, Allocator>&& s); private:    basic_stringbuf<CharT, Traits, Allocator> sb;// exposition only}; template<class CharT,class Traits,class Allocator>void swap(basic_istringstream<CharT, Traits, Allocator>& x,              basic_istringstream<CharT, Traits, Allocator>& y);}

      [edit]Class templatestd::basic_ostringstream

      namespace std{template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_ostringstream:public basic_ostream<CharT, Traits>{public:using char_type= CharT;using int_type=typename Traits::int_type;using pos_type=typename Traits::pos_type;using off_type=typename Traits::off_type;using traits_type= Traits;using allocator_type= Allocator; // constructors    basic_ostringstream(): basic_ostringstream(ios_base::out){}explicit basic_ostringstream(ios_base::openmode which);explicit basic_ostringstream(const basic_string<CharT, Traits, Allocator>& s,      ios_base::openmode which= ios_base::out);    basic_ostringstream(ios_base::openmode which,const Allocator& a);explicit basic_ostringstream(      basic_string<CharT, Traits, Allocator>&& s,      ios_base::openmode which= ios_base::out);template<class SAlloc>      basic_ostringstream(const basic_string<CharT, Traits, SAlloc>& s,const Allocator& a): basic_ostringstream(s, ios_base::out, a){}template<class SAlloc>      basic_ostringstream(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which,const Allocator& a);template<class SAlloc>explicit basic_ostringstream(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which= ios_base::out);    basic_ostringstream(const basic_ostringstream&)= delete;    basic_ostringstream(basic_ostringstream&& rhs); // assign and swap    basic_ostringstream& operator=(const basic_ostringstream&)= delete;    basic_ostringstream& operator=(basic_ostringstream&& rhs);void swap(basic_ostringstream& rhs); // members    basic_stringbuf<CharT, Traits, Allocator>* rdbuf()const;     basic_string<CharT, Traits, Allocator> str()const&;template<class SAlloc>      basic_string<CharT,Traits,SAlloc> str(const SAlloc& sa)const;    basic_string<CharT, Traits, Allocator> str()&&;    basic_string_view<CharT, Traits> view()constnoexcept; void str(const basic_string<CharT, Traits, Allocator>& s);template<class SAlloc>void str(const basic_string<CharT, Traits, SAlloc>& s);void str(basic_string<CharT, Traits, Allocator>&& s); private:    basic_stringbuf<CharT, Traits, Allocator> sb;// exposition only}; template<class CharT,class Traits,class Allocator>void swap(basic_ostringstream<CharT, Traits, Allocator>& x,              basic_ostringstream<CharT, Traits, Allocator>& y);}

      [edit]Class templatestd::basic_stringstream

      namespace std{template<class CharT,class Traits= char_traits<CharT>,class Allocator= allocator<CharT>>class basic_stringstream:public basic_iostream<CharT, Traits>{public:using char_type= CharT;using int_type=typename Traits::int_type;using pos_type=typename Traits::pos_type;using off_type=typename Traits::off_type;using traits_type= Traits;using allocator_type= Allocator; // constructors    basic_stringstream(): basic_stringstream(ios_base::out| ios_base::in){}explicit basic_stringstream(ios_base::openmode which);explicit basic_stringstream(const basic_string<CharT, Traits, Allocator>& s,      ios_base::openmode which= ios_base::out| ios_base::in);    basic_stringstream(ios_base::openmode which,const Allocator& a);explicit basic_stringstream(      basic_string<CharT, Traits, Allocator>&& s,      ios_base::openmode which= ios_base::out| ios_base::in);template<class SAlloc>      basic_stringstream(const basic_string<CharT, Traits, SAlloc>& s,const Allocator& a): basic_stringstream(s, ios_base::out| ios_base::in, a){}template<class SAlloc>      basic_stringstream(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which,const Allocator& a);template<class SAlloc>explicit basic_stringstream(const basic_string<CharT, Traits, SAlloc>& s,        ios_base::openmode which= ios_base::out| ios_base::in);    basic_stringstream(const basic_stringstream&)= delete;    basic_stringstream(basic_stringstream&& rhs); // assign and swap    basic_stringstream& operator=(const basic_stringstream&)= delete;    basic_stringstream& operator=(basic_stringstream&& rhs);void swap(basic_stringstream& rhs); // members    basic_stringbuf<CharT, Traits, Allocator>* rdbuf()const;     basic_string<CharT, Traits, Allocator> str()const&;template<class SAlloc>      basic_string<CharT,Traits,SAlloc> str(const SAlloc& sa)const;    basic_string<CharT, Traits, Allocator> str()&&;    basic_string_view<CharT, Traits> view()constnoexcept; void str(const basic_string<CharT, Traits, Allocator>& s);template<class SAlloc>void str(const basic_string<CharT, Traits, SAlloc>& s);void str(basic_string<CharT, Traits, Allocator>&& s); private:    basic_stringbuf<CharT, Traits> sb;// exposition only}; template<class CharT,class Traits,class Allocator>void swap(basic_stringstream<CharT, Traits, Allocator>& x,              basic_stringstream<CharT, Traits, Allocator>& y);}

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 170C++98the definitions oftraits_type were missing in the synopses of
      std::basic_ostringstream andstd::basic_stringstream
      added
      LWG 251C++98the definitions ofallocator_type were missing in the synopses of
      std::basic_stringbuf,std::basic_istringstream
      std::basic_ostringstream andstd::basic_stringstream
      added
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/sstream&oldid=164066"

      [8]ページ先頭

      ©2009-2025 Movatter.jp