본문 바로가기

알고리즘

c++ 문자열 입력 받는 방법

문자열 입력 받는 문제를 풀 때 어떻게 입력 받아야할지 몰라 고생을 했다.

 

우선 <string> 헤더를 통해 string 타입을 선언할 수 있고(using namespace std를 선언해주어야 한다.)

 

cin을 통해서 문자열을 입력 받을 수 있다.

 

#include <iostream>
#include <string>

using namespace std;

int main(){
	//입력이 apple banana로 주어질 때
    string fruit1;
    string fruit2;
	cin >> fruit1 >> fruit2;
    cout << fruit1 << endl << fruit2; // apple
    				   // banana
    return 0;
}

 

하지만 cin에서는 공백 단위로 문자열 입력을 받기 때문에, 띄어쓰기가 있는 문장을 받기 위해서는 다른 입력을 써야 한다.

 

getline(cin, string) 을 사용해서 문장 단위의 문자열 또한 입력 받을 수 있다.

 

#include <iostream>
#include <string>

using namespace std;

int main(){
    /*입력이 
    come on!로 주어질 때
    go go!!
    */
    string sentence1;
    string sentence2;
    getline(cin, sentence1);
    getline(cin, sentence2);
    cout << sentence1 << " " << sentence2; // come on! go go!!
    return 0;
}