기록공간

std::getline()을 이용한 string 표준입력 본문

C++

std::getline()을 이용한 string 표준입력

입코딩 2020. 6. 25. 21:42
반응형

보통 문자열 입력을 받을때 입력 받는 문자열이 무엇인지를 띄워쓰기로 구분하였다. 

#include <string>
#include <iostream>
using namespace std;

int main()
{
    string a, b;
    cin >> a >> b;
    
    cout << a << endl;
    cout << b << endl;
}

 

그렇다면 띄워쓰기를 포함해 입력을 받고 싶은 경우에는 어떻게 해야할까?

 

이때 사용할 수 있는 메서드가 std::getline()이다. 

 

std::getline()

std::getline()은 <string>에 정의되어 있다. string의 문자열을 띄워쓰기와 함께 입력받고 싶을때 사용한다. 사용 방법은 다음과 같다.

istream& getline (istream& is, string& str)

getline() 메서드는 다음과 같이 되어 있다. 

각 매개변수에는 다음과 같은 값들이 와야한다.

  • istream& is : 표준입력을 수행하는 클래스

  • string& str : 입력받을 string 변수

getline() 메서드를 사용해 표준입력을 받는 경우 엔터의 여부에 따라 입력받을 문자열을 구분한다.

예를 들면 다음과 같다.

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string a, b;
    getline(cin, a);
    getline(cin, b);
    
    cout << a << endl;
    cout << b << endl;
}

 

 

반응형

'C++' 카테고리의 다른 글

객체 지향 프로그래밍( OOP ) 개념  (0) 2020.06.29
round 반올림 메서드 (C++ 11)  (0) 2020.06.25
예외 처리  (0) 2020.04.21
스마트 포인터 - 간략하게  (0) 2020.04.07
decltype 키워드  (0) 2020.04.03
Comments