프로그래밍 언어/C++

getline 사용법

Mev01 2020. 10. 15. 16:57

cin.getline

char a[100];
cin.getline(a,10);
cin.getline(a,10,',');

char 배열에 9글자까지 문자를 입력하게 된다.(마지막에 널문자가 들어가므로)

두 번째 문장은 엔터가 들어오기 전까지 저장하고 세 번째 문장은 i가 들어오기 전까지 저장하게 된다.

 

getline

string a;
getline(cin, a);
getline(cin, a, ',');

#include <string>필요, getline의 경우 처음에 입력스트림 오브젝트가 오게 된다.

 

주의할 점

두개의 함수 모두 엔터를 무시하지 않고 그전까지 저장한 후 엔터를 버퍼에서 버린다.

그런데 cin은 엔터를 무시하고 진행하지만 버퍼에서 버리지는 않는다.

 

그래서 getline을 쓸때 cin이 버퍼에 엔터를 남기지 않았는가를 확인해주어야 한다.

버퍼에 남아있다면 cin.ignore()를 통해 버퍼를 비워줄 필요가 있다.

 

reference

jhnyang.tistory.com/107

 

 

'프로그래밍 언어 > C++' 카테고리의 다른 글

cin의 리턴 값  (0) 2020.10.15