std::strstreambuf:: pbackfail
From cppreference.net
<
cpp
|
io
|
strstreambuf
|
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 에 의해 호출됩니다).
a)
먼저, 되돌려놓기 위치가 있는지 확인하고, 실제로 존재하지 않으면 실패합니다(
strstreambuf
는 재읽기를 위한 외부 문자 소스를 갖고 있지 않습니다).
b)
호출자가 잘못되었고 실제로 되돌리기 위치가 사용 가능한 경우, 단순히
basic_streambuf::gptr()
을 감소시킵니다. 예를 들어
gbump
(
-
1
)
를 호출하는 방식으로.
2)
호출자가 이전에 추출한 문자와 다른 문자를 되돌리려고 시도하는 경우 (
pbackfail()
가 되돌려야 할 문자와 함께 호출됨), 이 경우
a)
먼저, 되돌리기 위치가 있는지 확인하고, 없으면 실패합니다.
b)
그런 다음 퍼트백 위치에 있는 문자가 무엇인지 확인합니다. 만약 그곳에 보관된 문자가 이미
(
char
)
c
와 동일하다면, 단순히
basic_streambuf::gptr()
을 감소시킵니다.
c)
그렇지 않고, 버퍼가 수정 불가능한 경우(이 strstreambuf가 문자열 리터럴이나 다른
const
배열로 생성된 경우), 실패합니다.
목차 |
매개변수
| 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 멤버 함수)
|