안녕 세상아,

[C++/string] 문자열 입력 함수 getline() 본문

c++ 개념

[C++/string] 문자열 입력 함수 getline()

돈 많은 백수가 되고싶다 2024. 3. 28. 19:45

문자열 입력의 종류는 여러가지가 있다.

우선 가장 많이 사용하는 것은 cin 이다.

cin

문자와 문자열 모두 입력 받을 수 있음

하지만 공백과 엔터가 나오면 입력을 종료한 것으로 간주한다. 문장이나 띄어쓰기가 포함된 단어는 출력하지 못한다.

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

int main(){
   int a;
   string str;
   cin>>a>>str;
   cout<<a<<endl;
   cout<<str<<endl;
   return 0;
}
띄어쓰기를 할 때 글자가 짤리는 것을 볼 수 있다.

 

그래서 띄어쓰기도 포함한 문자열을 받기 위해서 getline 함수가 나온 것이다.

getline() 함수

공백 문자 포함한 문자열 입력

getline() 함수의 기본 형식은 getline(cin, 문자열 변수); 이다. 이때는 개행 문자를 만나야 입력이 중단된다.

getline(cin, 문자열 변수, '문자'); 는 문자를 만나면 입력을 중단한다.

 

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

int main() {
	string str1;
	string str2;

	cout << "첫번째 문자열 입력하시오: " << endl;
	getline(cin, str1);
	cout << "두번째 문자열 입력하시오: " << endl;
	getline(cin, str2, 'o');

	cout << str1 << endl;
	cout<<str2 << endl;
	return 0;
}
공백도 같이 출력된다.