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>
<streambuf>
basic_streambuf
streambuf
wstreambuf
streambuf
streambuf::~streambuf
streambuf::streambuf
公有成員
streambuf::getloc
streambuf::in_avail
streambuf::pubimbue
streambuf::pubseekoff
streambuf::pubseekpos
streambuf::pubsetbuf
streambuf::pubsync
streambuf::sbumpc
streambuf::sgetc
streambuf::sgetn
streambuf::snextc
streambuf::sputbackc
streambuf::sputc
streambuf::sputn
streambuf::sungetc
受保護成員
streambuf::eback
streambuf::egptr
streambuf::epptr
streambuf::gbump
streambuf::gptr
C++11
streambuf::operator=
streambuf::pbase
streambuf::pbump
streambuf::pptr
streambuf::setg
streambuf::setp
C++11
streambuf::swap
虛保護成員
streambuf::imbue
streambuf::overflow
streambuf::pbackfail
streambuf::seekoff
streambuf::seekpos
streambuf::setbuf
streambuf::showmanyc
streambuf::sync
streambuf::uflow
streambuf::underflow
streambuf::xsgetn
streambuf::xsputn
參考
<streambuf>
streambuf
overflow
受保護的虛成員函式
<streambuf> <iostream>
std::
streambuf
::overflow
int overflow (int c = EOF);
在溢位時放置字元
其他成員函式呼叫此虛擬函式,用於在不更改當前位置的情況下將字元放入
受控輸出序列
。
當
寫指標
(
pptr
)處沒有可用寫位置時,公共成員函式(如
sputc
)會呼叫它來寫入字元。
在
streambuf
中的預設行為是始終返回
EOF
(表示失敗),但派生類可以覆蓋此行為,嘗試直接寫入字元和/或修改
pptr
和其他內部指標,以便提供更多儲存空間,可能將未寫入的字元寫入
受控輸出序列
。both
filebuf
and
stringbuf
override this virtual member function.
引數
c
要放置的字元。
如果這是
檔案尾
值(
EOF
),則不放置字元,但會嘗試呼叫此函式的所有其他效果。
返回值
成功時,將使用成員
traits_type::to_int_type
將放置的字元轉換為
int_type
型別的值並返回。
否則,如果
c
引數傳遞的是此值,或者用於指示失敗,則返回
檔案尾
值(
EOF
)(某些實現可能會丟擲異常)。
資料競爭
修改*流緩衝區*物件。
同時訪問同一*流緩衝區*物件可能會導致資料競爭。
異常安全
基本保證:
如果丟擲異常,*流緩衝區*處於有效狀態。
另見
streambuf::sputc
在當前放置位置儲存字元並增加放置指標
(公有成員函式)
streambuf::sputn
放置字元序列
(公有成員函式)
filebuf::overflow
在上溢時放置字元
(保護虛成員函式)
stringbuf::overflow
放置字元
(受保護的虛成員函式)