cplusplus
.com
教程
参考
文章
论坛
C++
教程
参考
文章
论坛
参考
C 库
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
容器
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
输入/输出
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
多线程
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
其他
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<sstream>
类模板
basic_istringstream
basic_ostringstream
basic_stringbuf
basic_stringstream
类
istringstream
ostringstream
stringbuf
stringstream
wistringstream
wostringstream
wstringbuf
wstringstream
stringbuf
stringbuf::stringbuf
公有成员
stringbuf::str
虚拟成员
stringbuf::overflow
stringbuf::pbackfail
stringbuf::seekoff
stringbuf::seekpos
stringbuf::setbuf
stringbuf::underflow
参考
<sstream>
stringbuf
overflow
受保护的虚成员函数
<sstream>
std::
stringbuf
::overflow
int overflow (int c = EOF);
放置字符
将字符
c
写入“put”指针(
pptr
)的当前位置,并将该指针向前移动一个位置。
如果没有可用位置,并且
stringbuf
对象是用
ios_base::out
构建的,则该函数首先尝试使更多写入位置可用,必要时重新分配内部缓冲区:这可能会修改输入和输出控制序列的指针(最多为
eback
、
gptr
、
egptr
、
pbase
、
pptr
、
epptr
中的所有指针)。
该函数还可能在每次调用此函数时重新分配缓冲区以使其更大,即使仍有可用写入位置(尽管不强制要求这样做)。
如果
c
是
EOF
,则不写入任何字符,也不移动“put”指针(
pptr
),但仍可能发生上述重新分配(尽管不强制要求这样做)。
当“put”指针(
pptr
)没有可用写入位置时,此虚函数会被
sputc
等公共成员函数调用以写入字符。
参数
c
要写入的字符。
如果这是
EOF
,则不写入任何字符,也不移动“put”指针(
pptr
),但可能适用其他效果。
返回值
如果成功,则返回值不为
EOF
:如果字符
c
已成功写入,则返回
c
。
否则,返回
EOF
以表示失败。
数据竞争
修改
stringbuf
对象。
并发访问同一对象可能导致数据竞争。
异常安全
基本保证:
如果抛出异常,对象处于有效状态。
另见
streambuf::sputc
在当前放置位置存储字符并增加放置指针
(公有成员函数)
stringbuf::underflow
获取字符(受保护的虚成员函数)