작성
·
165
답변 2
0
안녕하세요 우진님 ㅎㅎ
네 맞습니다. 우진님의 말씀처럼 해당 부분은 없어도 무방합니다.
습관에서 나온 코드인 것 같습니다.. ㅠ
해당 부분에 대한 설명을 교안에 더 추가하도록 하겠습니다.
좀 더 설명드리면 다음과 같습니다.
참고로 getline()의 경우 “\n”까지 받게 되므로 cout을 할 때 “\n”을 해서 한줄 띄어쓰기를 할 필요는 없습니다. 한 줄 띄어쓰기가 자동으로 됩니다.
#include <bits/stdc++.h>
using namespace std;
string s;
int main(){
for(int i = 0; i < 2; i++){
getline(cin, s);
cout << s;
}
}
/*
엄준식화이팅
엄준식화이팅
*/
[엄준식 화이팅 2개가 띄어쓰기가 되는 모습]
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다.
getline은 입력 스트림에서 문자열을 읽어오는데, 개행문자(‘\n’)가 나올 때까지 읽고 개행문자를 버립니다. 그래서 변수 s
에는 저장된 문자열에 개행문자가 포함되지 않아요. getline의 결과로 받은 문자열 s
에는 개행문자가 포함되어 있지 않기 때문에, 출력할 때 cout
을 통해 개행(\n
)을 해주는 것이죠.
코드 내의 cout << s << "\n";
부분은 s
에 저장된 문자열 뒤에 추가적으로 개행을 해주기 위한 부분입니다. 이는 getline
이 버린 개행문자를 대신하여 새로운 줄로 넘어가게 만들기 위해서 필요합니다. 따라서 getline
으로 입력받은 문자열 뒤에 자동으로 개행이 되지 않으므로, 출력 시에 수동으로 개행문자(\n
)를 명시해야 하는 것입니다.