Namespaces
Variants

std::strstreambuf:: pbackfail

From cppreference.net
protected :
virtual int_type pbackfail ( int_type c = EOF ) ;
(C++98에서 사용 중단됨)
(C++26에서 제거됨)

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

1) 호출자는 get 영역이 한 문자로 백업되도록 요청합니다( pbackfail() 가 인수 없이 또는 EOF 를 인수로 호출됨)
a) 먼저, 되돌려놓기 위치가 있는지 확인하고, 실제로 존재하지 않으면 실패합니다( strstreambuf 는 재읽기를 위한 외부 문자 소스를 갖고 있지 않습니다).
b) 호출자가 잘못되었고 실제로 되돌리기 위치가 사용 가능한 경우, 단순히 basic_streambuf::gptr() 을 감소시킵니다. 예를 들어 gbump ( - 1 ) 를 호출하는 방식으로.
2) 호출자가 이전에 추출한 문자와 다른 문자를 되돌리려고 시도하는 경우 ( pbackfail() 가 되돌려야 할 문자와 함께 호출됨), 이 경우
a) 먼저, 되돌리기 위치가 있는지 확인하고, 없으면 실패합니다.
b) 그런 다음 퍼트백 위치에 있는 문자가 무엇인지 확인합니다. 만약 그곳에 보관된 문자가 이미 ( char ) c 와 동일하다면, 단순히 basic_streambuf::gptr() 을 감소시킵니다.
c) 그렇지 않고, 버퍼가 수정 불가능한 경우(이 strstreambuf가 문자열 리터럴이나 다른 const 배열로 생성된 경우), 실패합니다.
d) 그렇지 않으면, basic_streambuf::gptr() 를 감소시키고 c 를 가리키는 위치에 gptr ( ) 조정 후 기록합니다.

목차

매개변수

c - 되돌려 놓을 문자, 또는 Traits :: eof ( ) get 영역의 백업이 요청되었음을 나타내기 위한 값

반환값

c 성공 시 반환되지만, c EOF 인 경우에는 EOF 가 아닌 다른 지정되지 않은 값이 반환됩니다.

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 멤버 함수)