std::basic_streambuf::pubsetbuf, std::basic_streambuf::setbuf — cppreference.com
Материал из cppreference.com
<metanoindex/>
<tbody> </tbody>
|
|
(1) | |
|
|
(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 функция-элемент) [править]
|