[C++] getline

getline

cin은 중간에 빈칸이 있으면 하나 입력을 받았다고 가정을 한다. 버퍼안에 첫번째 문자열만 넘겼다가 두 번째 cin에 두번째 문자열을 넘기는 것이다.

#include <iostream>
#include <string>

int main()
{
    using namespace std;

    cout << "Your name ? : ";
    string name;
    // cin >> name;
    getline(cin, name);

    cout << "Youra age ? : ";
    string age;
    // cin >> age;
    getline(cin, age);

    cout << name << " " << age << " " << endl;

    return 0;
}
Your name ? : Jack Bolton
Youra age ? : 23
Jack Bolton 23

그래서 중간에 빈칸이 있는 문자열을 입력 받으로면 다른 것을 써야 한다. 바로 getline이다.

좋은 웹페이지 즐겨찾기