std::basic_stringbuf<CharT,Traits,Allocator>:: setbuf
|
protected
:
virtual std:: basic_streambuf < CharT, Traits > * setbuf ( char_type * s, std:: streamsize n ) |
||
만약 s 가 널 포인터이고 n 이 0이면, 이 함수는 아무런 효과도 가지지 않습니다.
그렇지 않으면, 그 효과는 구현체 정의입니다: 일부 구현체는 아무것도 하지 않는 반면, 일부 구현체는 현재 버퍼로 사용 중인 std::string 멤버를 지우고 n 크기의 사용자 제공 문자 배열을 버퍼 및 입출력 문자 시퀀스로 사용하기 시작합니다. 이 배열의 첫 번째 요소는 s 가 가리킵니다.
이 함수는 protected virtual로, 오직
pubsetbuf()
를 통해서만 호출되거나 사용자 정의 클래스의 멤버 함수에서
std::basic_stringbuf
를 상속받은 경우에만 호출될 수 있습니다.
목차 |
매개변수
| s | - | 사용자가 제공한 버퍼의 첫 번째 CharT에 대한 포인터 또는 null |
| n | - | 사용자가 제공한 버퍼 내 CharT 요소의 개수 또는 0 |
반환값
this
참고 사항
사용되지 않는 스트림 버퍼
std::
strstreambuf
또는 boost.IOStreams 장치
boost::basic_array
는 사용자가 제공한 char 배열을 통해 이식 가능한 방식으로 I/O 버퍼링을 구현하는 데 사용될 수 있습니다.
예제
stringstream의 setbuf 기능에 대한 테스트입니다.
#include <iostream> #include <sstream> int main() { std::ostringstream ss; char c[1024] = {}; ss.rdbuf()->pubsetbuf(c, 1024); ss << 3.14 << '\n'; std::cout << c << '\n'; }
출력:
3.14 (on GNU g++/libstdc++ and SunPro C++/roguewave) <nothing> (on MS Visual Studio 2010, SunPro C++/stlport4, CLang++/libc++)
참고 항목
|
setbuf
(
)
를 호출합니다
(
std::basic_streambuf<CharT,Traits>
의 public 멤버 함수)
|