◐ Shell
clean mode source ↗

std::basic_streambuf::pubsetbuf, std::basic_streambuf::setbuf — cppreference.com

Материал из cppreference.com

<metanoindex/>

<tbody> </tbody>

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

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Параметры

s

указатель на первый байт в предоставленное пользователем буфер

Оригинал:

pointer to the first byte in the user-provided buffer

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

n

количество байтов в предоставленное пользователем буфер

Оригинал:

the number of bytes in the user-provided buffer

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возвращаемое значение

*this

Пример

обеспечить 10k буфер для чтения. В Linux, утилита Трассирование может быть использован для наблюдения за фактическое количество прочитанных байтов

Оригинал:

provide a 10k buffer for reading. On linux, the strace utility may be used to observe the actual number of bytes read

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

#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

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.


(virtual protected std::basic_filebuf функция-элемент) [править]