std::basic_filebuf<CharT,Traits>:: overflow
|
protected
:
virtual int_type overflow ( int_type ch = Traits :: eof ( ) ) ; |
||
퍼트 영역의 일부 데이터를 연결된 문자 시퀀스(파일)에 기록합니다.
기본 클래스 버전처럼 동작합니다 std::basic_streambuf::overflow() , 단 "문자 소비"의 동작이 다음과 같이 정의된다는 점이 다릅니다:
const std::codecvt<CharT, char, typename Traits::state_type>& a_codecvt = std::use_facet<std::codecvt<CharT, char, typename Traits::state_type>>(getloc()); typename Traits::state_type state; CharT* end; char xbuf[XSIZE]; char* xbuf_end; std::codecvt_base::result r = a_codecvt.out(state, pbase(), pptr(), end, xbuf, xbuf + XSIZE, xbuf_end);
| r | 동작 |
|---|---|
| std:: codecvt_base :: ok |
[
xbuf
,
xbuf_end
)
내의 문자를 파일에 출력하고, 출력이 실패하면 실패합니다. 이때
pbase
(
)
!
=
pptr
(
)
와
pbase
(
)
==
end
가 모두
true
인 경우(즉
xbuf
가 하나의 외부 문자에도 충분히 크지 않음을 의미),
XSIZE
를 증가시키고 처음부터 반복합니다.
|
| std:: codecvt_base :: partial |
[
xbuf
,
xbuf_end
)
내의 변환된 외부 문자를 파일에 출력하고,
[
end
,
pptr
(
)
)
에 남아있는 변환되지 않은 내부 문자를 사용하여 반복합니다. 출력이 실패하면 (반복 없이) 실패합니다.
|
| std:: codecvt_base :: noconv |
[
pbase
(
)
,
pptr
(
)
)
내의 문자를 파일에 출력합니다.
|
| std:: codecvt_base :: error | 실패합니다. |
|
3)
관찰 가능한 체크포인트
를 설정합니다.
|
(since C++26) |
목차 |
매개변수
| ch | - | put 영역에 저장할 문자 |
반환값
Traits :: not_eof ( ch ) 성공을 나타내거나 Traits :: eof ( ) 실패를 나타냅니다.
참고 사항
만약 a_codecvt. always_noconv ( ) 가 true 를 반환하면, a_codecvt. out ( ) 호출은 생략될 수 있습니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
[virtual]
|
put 영역에서 연관된 출력 시퀀스로 문자를 기록함
(
std::basic_streambuf<CharT,Traits>
의
virtual protected 멤버 함수)
|
|
[virtual]
|
연관된 파일에서 읽어들임
(virtual protected 멤버 함수) |