std::basic_streambuf::underflow

来自cppreference.com
< cpp‎ | io‎ | basic streambuf

 
 
输入/输出库
I / O操纵
C-风格的I / O
缓冲区
原文:
Buffers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(已弃用)
原文:
Streams
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
抽象
原文:
Abstractions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
文件I / O
原文:
File I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_ifstream
basic_ofstream
basic_fstream
字符串I / O
原文:
String I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istringstream
basic_ostringstream
basic_stringstream
阵列的I / O
原文:
Array I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
istrstream(已弃用)
ostrstream(已弃用)
strstream(已弃用)
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
streamoff
streamsize
fpos
Error类的接口
原文:
Error category interface
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
iostream_category(C++11)
io_errc(C++11)
 
std::basic_streambuf
公共成员函数
原文:
Public member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::~basic_streambuf
语言环境
原文:
Locales
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::pubimbue
basic_streambuf::getloc
定位
原文:
Positioning
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::pubsetbuf
basic_streambuf::pubseekoff
basic_streambuf::pubseekpos
basic_streambuf::pubsync
获取区域
原文:
Get area
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::in_avail
basic_streambuf::snextc
basic_streambuf::sbumpc
basic_streambuf::sgetc
basic_streambuf::sgetn
在区域
原文:
Put area
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::sputc
basic_streambuf::sputn
补篮
原文:
Putback
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::sputbackc
basic_streambuf::sungetc
受保护的成员函数
原文:
Protected member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::basic_streambuf
basic_streambuf::operator=(C++11)
basic_streambuf::swap(C++11)
语言环境
原文:
Locales
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::imbue
定位
原文:
Positioning
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::setbuf
basic_streambuf::seekoff
basic_streambuf::seekpos
basic_streambuf::sync
获取区域
原文:
Get area
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::showmanyc
basic_streambuf::underflow
basic_streambuf::uflow
basic_streambuf::xsgetn
basic_streambuf::eback
basic_streambuf::gptr
basic_streambuf::egptr
basic_streambuf::gbump
basic_streambuf::setg
在区域
原文:
Put area
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::xsputn
basic_streambuf::overflow
basic_streambuf::pbase
basic_streambuf::pptr
basic_streambuf::epptr
basic_streambuf::pbump
basic_streambuf::setp
补篮
原文:
Putback
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf::pbackfail
 
int_type underflow();
确保一个的至少一个的字符是可在输入区中的更新的指针的输入区(如果需要的话)。返回值的,成功或失败的traits::eof()上的字符.
原文:
Ensures that at least one character is available in the input area by updating the pointers to the input area (if needed). Returns the value of that character on success or traits::eof() on failure.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
该函数可能更新gptregptreback定义新加载的数据(如有的话)的位置的指针。发生故障时,该功能可确保无论是gptr() == nullptrgptr() == egptr.
原文:
The function may update gptr, egptr and eback pointers to define the location of newly loaded data (if any). On failure, the function ensures that either gptr() == nullptr or gptr() == egptr.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
基类版本的函数什么也不做。派生类可以重载这个函数来取回区耗尽的情况下,允许更新.
原文:
The base class version of the function does nothing. The derived classes may override this function to allow updates to the get area in the case of exhaustion.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

(无)
原文:
(none)
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 返回值

的字符值所指向的“指针”后,成功的呼叫,或以其他方式traits::eof().
原文:
The value of the character pointed to by the get pointer after the call on success, or traits::eof() otherwise.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
的函数调用基类版本traits::eof().
原文:
The base class version of the function calls traits::eof().
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 请注意

公共职能std::streambuf调用这个函数,只有当gptr() == nullptrgptr() >= egptr().
原文:
The public functions of std::streambuf call this function only if gptr() == nullptr or gptr() >= egptr().
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 为例

[edit]
#include <iostream>
#include <sstream>
 
class null_filter_buf : public std::streambuf {
    std::streambuf* src;
    char ch; // single-byte buffer
protected:
    int underflow() {
        while( (ch= src->sbumpc()) == '\0') ; // skip zeroes
        setg(&ch, &ch, &ch+1); // make one read position available
        return ch; // may return EOF
    }
public:
    null_filter_buf(std::streambuf* buf) : src(buf) {
        setg(&ch, &ch+1, &ch+1); // buffer is initially full
    }
};
 
void filtered_read(std::istream& in)
{
    std::streambuf* orig = in.rdbuf();
    null_filter_buf buf(orig);
    in.rdbuf(&buf);
    for(char c; in.get(c); )
            std::cout << c;
    in.rdbuf(orig);
}
 
int main()
{
    char a[] = "This i\0s \0an e\0\0\0xample";
    std::istringstream in(std::string(std::begin(a), std::end(a)));
    filtered_read(in);
}

输出:

This is an example

[编辑] 另请参阅

[虚]</div></div>
相关的输入序列读取字符的get区和进步的下一个指针
原文:
reads characters from the associated input sequence to the get area and advances the next pointer
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(虚拟保护成员函数) [edit]
[虚]</div></div>
相关的输出序列中写入字符认沽区域
原文:
writes characters to the associated output sequence from the put area
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(虚拟保护成员函数) [edit]

来自“http://zh.cppreference.com/mwiki/index.php?title=cpp/io/basic_streambuf/underflow&oldid=30934