C++ 입출력 라이브러리
while (std::cin >> t) {
// int t
t 의 타입이 아니면 // int 형이 아니면
fail bit ON > bool false
>
std::cin.clear(); // 플래그들을 초기화 하고
std::cin.ignore(100, '\n'); // 개행문자가 나올 때 까지 무시한다
ios 객체에서 버퍼 처리함 ( 사용자 입력 > 버퍼 > 컴파일) > 플래그에 맞춰 실행
>>
1. 플래그 초기화
2. 버퍼 무시( 첫번째에는 최대 100개, 두번째로 '\n' 이 나오면 삭제)
> aaaaaaaa~~~
aaaaaaaa~~~
aaa
> 버퍼 3개 삭제
출력 진법 변경
std::cin.setf(ios_base::hex, ios_base::basefield);
1. hex 로 변경
2. basefield : 기존의 진법설정 초기화
or 함수 조작자
std::cin >> hex >> t;
//
std::ios_base& hex(std::ios_base& str);
>
istream& operator>>(ios_base& (*pf)(ios_base&));
operator>> :
pf : std::ios_base&를 반환하는 함수 포인터 (인자 : ios_base&) // 함수의 주소를 저장하는 포인터 !
> pf(*this) 를 호출
>>>
std::cin >> std::hex >> value;
std::hex ( 여기서 hex는 함수)
> operator>> 호출 , pf = hex
> std::cin.setf(std::ios::hex, std::ios::basefield); 로 바뀌어 실행