Namespaces
Variants

std::basic_stringbuf<CharT,Traits,Allocator>:: pbackfail

From cppreference.net
protected :
virtual int_type pbackfail ( int_type c = Traits :: eof ( ) )

이 보호된 가상 함수는 공개 함수인 basic_streambuf::sungetc basic_streambuf::sputbackc 에 의해 호출됩니다(이들은 차례로 basic_istream::unget basic_istream::putback 에 의해 호출됩니다).

1) 호출자는 get 영역이 한 문자로 백업되도록 요청합니다( pbackfail() 가 인수 없이 또는 Traits :: eof ( ) 를 인수로 호출됨)
a) 먼저, 되돌려놓기(putback) 위치가 있는지 확인하고, 실제로 존재하지 않으면 실패합니다. (stringbuf는 재읽기를 위한 외부 문자 소스를 갖지 않습니다)
b) 호출자가 잘못되었고 실제로 되돌리기 위치가 사용 가능한 경우, 단순히 basic_streambuf::gptr() 를 감소시킵니다. 예를 들어 gbump ( - 1 ) 를 호출하는 방식으로.
2) 호출자가 이전에 검색된 문자와 다른 문자를 되돌리려고 시도하는 경우( pbackfail() 가 되돌려야 할 문자와 함께 호출됨), 이 경우
a) 먼저, 되돌리기 위치가 있는지 확인하고, 없으면 실패합니다.
b) 그런 다음 되돌리기 위치에 있는 문자가 무엇인지 확인합니다. 만약 그 위치에 보유된 문자가 이미 c 와 동일하다면( Traits :: eq ( to_char_type ( c ) , gptr ( ) [ - 1 ] ) 에 의해 결정된 대로), 단순히 basic_streambuf::gptr() 을 감소시킵니다.
c) 그렇지 않고, 버퍼가 읽기 전용으로 열려 있는 경우, 실패합니다.
d) 그렇지 않고, 버퍼가 쓰기용으로 열려 있는 경우( mode && std:: ios_base :: out 가 0이 아닌 경우), basic_streambuf::gptr() 를 감소시키고 조정된 gptr()이 가리키는 위치에 c 를 기록합니다.

목차

매개변수

c - 되돌릴 문자, 또는 get 영역의 백업을 요청함을 나타내는 Traits::eof()

반환값

c 성공 시 반환되지만, c Traits :: eof ( ) 인 경우에는 Traits :: not_eof ( c ) 가 반환됩니다.

Traits :: eof ( ) 실패 시 반환됩니다.

예제

참고 항목

[virtual]
입력 시퀀스에 문자를 다시 넣으며, 입력 시퀀스를 수정할 수 있음
( std::basic_streambuf<CharT,Traits> 의 virtual protected 멤버 함수)
입력 시퀀스에서 다음 포인터를 하나 뒤로 이동
( std::basic_streambuf<CharT,Traits> 의 public 멤버 함수)
입력 시퀀스에 문자 하나를 다시 넣음
( std::basic_streambuf<CharT,Traits> 의 public 멤버 함수)
문자를 추출 취소함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
입력 스트림에 문자를 넣음
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)