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>
<fstream>
類模板
basic_filebuf
basic_fstream
basic_ifstream
basic_ofstream
類
filebuf
fstream
ifstream
、ofstream
wfilebuf
wfstream
wifstream
、wofstream
filebuf
filebuf::~filebuf
filebuf::filebuf
公有成員
filebuf::close
filebuf::is_open
filebuf::open
C++11
filebuf::operator=
C++11
filebuf::swap
受保護的虛成員
filebuf::imbue
filebuf::overflow
filebuf::pbackfail
filebuf::seekoff
filebuf::seekpos
filebuf::setbuf
filebuf::showmanyc
filebuf::sync
filebuf::uflow
filebuf::underflow
非成員過載
C++11
swap (filebuf)
參考
<fstream>
filebuf
setbuf
受保護的虛成員函式
<fstream>
std::
filebuf
::setbuf
streambuf* setbuf (char* s, streamsize n);
設定緩衝區
影響輸出操作的緩衝方式
如果兩個引數都為零,並且物件上尚未執行任何輸入/輸出操作,則流的輸出將變為無緩衝:對於無緩衝流,所有輸出都直接寫入檔案(
pptr
和
pbase
始終是
空指標
,強制輸出操作呼叫
overflow
)。
否則,物件的緩衝方式會受到影響,具體方式取決於庫的實現。
此虛成員函式重寫了繼承的成員
streambuf::setbuf
,由成員
pubsetbuf
呼叫以影響內部緩衝區。
引數
s, n
由實現定義。
如果兩個引數都為零,並且物件尚未執行任何輸入/輸出操作,則流將變為無緩衝。
streamsize
是一個帶符號整型。
返回值
返回
this
。
資料競爭
如果兩個引數都為零,它會修改
filebuf
物件(同一物件的併發訪問可能會導致資料爭用)。
否則,不確定。
異常安全
基本保證:
如果丟擲異常,*檔案流緩衝區*處於有效狀態。
另見
streambuf::pubsetbuf
設定緩衝區陣列
(公有成員函式)
streambuf::setbuf
設定緩衝區
(保護虛成員函式)