코딩/C++

[C++] 문자열을 공백까지 입력받는 방법 (feat. 그대로 출력하기)

kimyunseok 2021. 7. 28. 04:18

C++에서 문자열을 입력받을 때 띄어쓰기는 입력이 안되는 문제가 있다.

그냥 문자열을 입력받았을 때

그냥 문자열을 입력받으면, 띄어쓰기는 입력받지 않으므로 띄어쓰기는 무시된다.

 

하지만 <string> STL을 include하고 getline 메서드를 사용하면 띄어쓰기, 개행까지 입력받을 수 있다.

  • getline(cin객체, 받을 문자열 변수) 로 사용한다.

getline 메서드를 사용했을 때

띄어쓰기가 입력이 잘 된것을 확인할 수 있다.

개행(줄바꿈)도 입력이 된다.

개행문자도 입력이 잘 된다.

 

2021-08-29 수정

만일 개수를 입력받고, 특정 개수만큼 공백포함 문자를 입력받고 싶다면,

위처럼 입력받는 cin과 getline 사이에 getline을 한번 더 해준다.

개행문자가 입력이 되는 문제때문에 발생하는 것 같다.

 

 

11718번: 그대로 출력하기

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시

www.acmicpc.net

 

11719번: 그대로 출력하기 2

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이

www.acmicpc.net

백준에서 그대로 출력하기 문제들을 풀었는데,

알고리즘이라고 하기에는 그렇고 문법적인 요소들이라 따로 정리한다.