반응형
1. getline() 사용시의 문제점
getline(cin, s) 와 같은 함수는 문자열 한 줄을 읽기에 매우 편리한 함수이다.
하지만 getline을 사용하기 전에 cin을 통해 입력받은 경우가 있다면 개행문자('\n')가 같이 읽힘으로서
getline이 제대로 수행되지 않는 경우가 생긴다.
이를 방지하기 위해서는 다음과 같은 테크닉이 필요하다.
2. 해결법
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
int N;
string s;
cin >> N;
cin.ignore();
getline(cin ,s);
return 0;
}
위의 코드에서와 같이, cin >> N 등으로 입력을 받은 상황이라면
getline 함수를 호출하기 전에 cin.ignore() 를 호출해주면 된다.
반응형