인프런 커뮤니티 질문&답변
14:18 개행문자
작성
·
310
1
14:18을 보면 cin.getline 과 cin.get을 사용한 경우의 차이를 보여주고 있습니다.
cin.getline은 '₩n' 을 읽어오고
cin.get은 그렇지 않다는게 그 차이인데요
두번의 입력코드에서 상단에 cin.getline 을 쓰건 cin.get을 쓰건 하단의 cin.getline에 의해 '₩n'이 읽어지는데 출려결과를 보면 '₩n'이 실행되지 않은 모습입니다.
endl도 있으니 한칸 더 줄바꿈되어야 될 것 같은데요.
endl 과 '₩n' 둘중하나만 실행된 모습입니다.
보통 c에서는 개행문자를 읽으면 콘솔에 그대로 빈칸이 하나생겼는데 여기서는 그렇지 않네요
답변부탁드립니다!!
답변 1
0
getline은 두 개 존재하는데...
istream의 getline, string의 getline
사용한 부분은 istream의 getline임에도 불구하고, 설명한 부분은 string의 getline이네요.
istream의 getline은 cstyle string으로 받습니다. 강의의 내용이 분명히 틀린 것은 맞습니다만 아래 코드처럼 어떻게든 확인해보실 수 있으셨을텐데, 이 부분은 조금 아쉽습니다.
#include <iostream>
using namespace std;
int main()
{
char buf[100];
cin.getline(buf, 100);
cout << cin.gcount() << " " << buf << endl;
for (size_t i = 0; i < cin.gcount(); i++)
{
cout << (int)buf[i] << endl;
}
}




