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
pbackfail
受保护的虚成员函数
<sstream>
std::
stringbuf
::pbackfail
int pbackfail (int c = EOF);
将字符放回
将 *get pointer*(
gptr
)向前移动一个位置,指向前一个字符,如果
stringbuf
对象是用
ios_base::out
构建的,则将
c
存储在该位置。
如果
stringbuf
对象不是用
ios_base::out
构建的,则
c
必须与推回位置的字符匹配,或者为
EOF
。否则,函数将失败。
如果调用前 *get pointer* 已经位于字符序列的开头,函数也将失败。
失败时,函数将返回
EOF
且不改变 *get pointer*(
gptr
)。
当 *get pointer*(
gptr
)没有可用的推回位置时,或者要推回的字符与缓冲区中的字符不匹配时,此虚函数会被
streambuf
的公有成员函数(如
sungetc
和
sputbackc
)调用。
参数
c
要推回的字符,或
EOF
以保持推回位置字符的值。
返回值
成功时,返回
traits_type::not_eof
(c)
。
函数在失败时返回
EOF
。
数据竞争
修改
stringbuf
对象。
并发访问同一对象可能导致数据竞争。
异常安全
基本保证:
如果抛出异常,对象处于有效状态。
另见
stringbuf::underflow
获取字符(受保护的虚成员函数)
streambuf::pbackfail
在回退下溢的情况下放回字符
(保护虚成员函数)