C++ string의 getline 함수
공백,특수문자를 포함한 한 줄 입력을 받을 떄 사용된다.
<string>헤더파일에 있는 getline함수는
std::getline(istream& is, string& str, char delim) 의 형태를 갖는다.
istream&is는 파일입력 또는 표준 입출력, string&str은 문자열을 저장할 string변수,char delim은 하나의 문자를 지정해서
그 문자까지 저장 할 수 있다.
cin이 '\n'를 만나는 경우
이 경우 '\n'을 처리하지 않고 입력 버퍼에 남겨둔다.
getline은 '\n'을 입력버퍼에서 가져와서 처리한다.
getline을 한 후 개행문자 '\n'을 만난 경우에 남은 '\n'을 제거해줘야 하는데
cin.ignore()을 이용해서 제거할 수 있다.
cin.fail()
cin.fail()함수는 숫자형 변수에 문자를 넣으라는 코드와 같이 올바르지 않은 시도가 이루어질 때 1을 반환한다.
cin.clear()는 내부상태 플래그를 초기화하여서 cin이 올바른 동작을 하도록 한다.
'알고리즘' 카테고리의 다른 글
백준 11008 복붙의 달인 C++ (0) | 2022.06.06 |
---|---|
백준 18429 근손실 C++ (0) | 2022.06.04 |
백준 14405 피카츄 C++ (0) | 2022.05.30 |
백준 1343 폴리오미노 C++ (0) | 2022.05.29 |
백준 2502 떡 먹는 호랑이 C++ (0) | 2022.05.25 |