std::basic_streambuf::pubsetbuf, std::basic_streambuf::setbuf

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

 
 
 
std::basic_streambuf
公共成员函数
原文:
Public member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
语言环境
原文:
Locales
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
定位
原文:
Positioning
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
basic_streambuf::pubsetbuf
获取区域
原文:
Get area
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
在区域
原文:
Put area
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
补篮
原文:
Putback
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
受保护的成员函数
原文:
Protected member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
语言环境
原文:
Locales
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
定位
原文:
Positioning
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
basic_streambuf::setbuf
获取区域
原文:
Get area
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
在区域
原文:
Put area
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
补篮
原文:
Putback
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
 
basic_streambuf<CharT,Traits>* pubsetbuf( char_type* s, std::streamsize n )
(1)
protected:
virtual basic_streambuf<CharT,Traits>* setbuf( char_type* s, std::streamsize n )
(2)
1)
调用setbuf(s, n)最派生类
原文:
Calls setbuf(s, n) of the most derived class
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
2)
这个函数的基类版本没有任何效果。用户提供的数组,派生类可以重载这个函数来允许拆除或更换的控制字符序列(缓冲区),或任何其他特定于实现的目的.
原文:
The base class version of this function has no effect. The derived classes may override this function to allow removal or replacement of the controlled character sequence (the buffer) with a user-provided array, or for any other implementation-specific purpose.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

s -
指针的第一个字节中的用户提供的缓冲区
原文:
pointer to the first byte in the user-provided buffer
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
n -
用户提供的缓冲区中的字节数
原文:
the number of bytes in the user-provided buffer
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

*this

[编辑] 示例

提供一个10K的缓冲区的读取。在Linux上,与strace实用程序可用于观察实际读取的字节数
原文:
provide a 10k buffer for reading. On linux, the strace utility may be used to observe the actual number of bytes read
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

#include <fstream>
#include <iostream>
#include <string>
 
int main()
{
    int cnt=0;
    std::ifstream file;
    char buf[10241];
    file.rdbuf()->pubsetbuf(buf, sizeof buf);
    file.open("/usr/share/dict/words");
    for (std::string line; getline(file, line); ) {
        cnt++;
    }
 
    std::cout << cnt << '\n';
}


[编辑] 另请参阅

[虚]
为用户提供的缓冲或无缓冲将这个filebuf
原文:
provides user-supplied buffer or turns this filebuf unbuffered
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(std::basic_filebuf 的虚受保护成员函数) [编辑]