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
basic_streambuf
basic_streambuf::~basic_streambuf
basic_streambuf::basic_streambuf
公有成員
basic_streambuf::getloc
basic_streambuf::in_avail
basic_streambuf::pubimbue
basic_streambuf::pubseekoff
basic_streambuf::pubseekpos
basic_streambuf::pubsetbuf
basic_streambuf::pubsync
basic_streambuf::sbumpc
basic_streambuf::sgetc
basic_streambuf::sgetn
basic_streambuf::snextc
basic_streambuf::sputbackc
basic_streambuf::sputc
basic_streambuf::sputn
basic_streambuf::sungetc
受保護成員
basic_streambuf::eback
basic_streambuf::egptr
basic_streambuf::epptr
basic_streambuf::gbump
basic_streambuf::gptr
C++11
basic_streambuf::operator=
basic_streambuf::pbase
basic_streambuf::pbump
basic_streambuf::pptr
basic_streambuf::setg
basic_streambuf::setp
C++11
basic_streambuf::swap
虛保護成員
basic_streambuf::imbue
basic_streambuf::overflow
basic_streambuf::pbackfail
basic_streambuf::seekoff
basic_streambuf::seekpos
basic_streambuf::setbuf
basic_streambuf::showmanyc
basic_streambuf::sync
basic_streambuf::uflow
basic_streambuf::underflow
basic_streambuf::xsgetn
basic_streambuf::xsputn
參考
<streambuf>
basic_streambuf
xsgetn
受保護的虛成員函式
<streambuf> <iostream>
std::
basic_streambuf
::xsgetn
streamsize xsgetn (char_type* s, streamsize n);
獲取字元序列
從
受控輸入序列
中檢索字元,並將它們儲存在
s
指向的陣列中,直到提取了
n
個字元或到達序列末尾。
在
basic_streambuf
中的預設行為等同於呼叫
sbumpc
n
次,如果任何呼叫返回
traits_type::eof()
,則停止。
這是一個虛成員函式,派生類可以提供更高效的實現。事實上,大多數庫實現都會重寫它以用於
basic_filebuf
和/或
basic_stringbuf
。
引數
s
指向要複製字元序列的陣列的指標。
成員型別
char_type
是
流緩衝區
(第一個類模板引數)中字元的型別。
n
要檢索的最大字元數。
這應該是一個非負值。
streamsize
是一個帶符號整型。
返回值
複製的字元數。
streamsize
是一個帶符號整型。
資料競爭
修改
s
指向的陣列中最多前
n
個字元。
修改*流緩衝區*物件。
對同一陣列或同一
流緩衝區
物件的併發訪問可能會引入資料爭用。
異常安全
基本保證:
如果丟擲異常,則
流緩衝區
處於有效狀態(這也適用於標準派生類)。
無效引數會導致
未定義行為
。
另見
basic_streambuf::sgetn
獲取字元序列
(公有成員函式)
basic_streambuf::sbumpc
獲取當前字元並前進到下一個位置
(公有成員函式)