본문 바로가기

Coding Test/Code Snippet

[C++] 문자열을 입력받는 여러 가지 방법 총정리

✔ (공백 포함) 한 줄씩 입력받기

# <string>의 getline()을 이용

string str;
getline(cin, str); // getline(cin, str, '\n')과 같다

getline(입력스트림 오브젝트, 문자열을 저장할 string객체, 종결 문자);

 

# <istream>의 cin.getline()을 이용

char ch[100];
cin.getline(ch, 100); // cin.getline(ch, 100, '\n')과 같다

cin.getline(변수 주소, 최대 입력 가능 문자수, 종결 문자);

 

 

여기서 잠깐!  cin.ignore()

`cin.ignore()`을 해줘야 한다.

cin은 '\n'를 처리하지 않고 입력버퍼에 남겨둔다.
geline은 '\n'를 입력버퍼에서 가져와서 처리한다. 
s2에  '\n'가 전달되며 '\n'를 제거 후  s2에 ''을 담기 때문에 s1과 ''이 출력되고 종료된다.

 

 

기본 예제: 백준11719,

응용 문제: 

 

 

 

 

 

 

 

 

(문제 풀면서 계속 추추추추추가 예정..)

 

 

 

 

참고

https://dbstndi6316.tistory.com/33

'Coding Test > Code Snippet' 카테고리의 다른 글

[C++] 난수 생성  (0) 2022.03.08
[C++] set, map에서 요소가 있는지 확인  (0) 2022.02.28