Nagie's DevStory

[CPP] 12. 문자열 입력받기 본문

Programming/C++

[CPP] 12. 문자열 입력받기

Nagie 2023. 10. 20. 22:26
728x90
//char 타입 배열로 문자열 입력받기

char strA[100];

std::cin >> strA;

std::cout << strA << std::endl;


//std::string을 사용해 문자열 입력받기

std::string strA;

std::cin >> strA;

std::cout << strA << std::endl;

 

C++에선 문자열을 입력받는 방법이 두 가지다.

첫째는 C 스타일로 char 배열에다 문자열을 입력받고 출력하는 방법이고

둘째는 string 객체를 사용해 문자열을 입력받고 출력하는 방법이다.

개인적으론 C++에서 굳이 C 스타일 문자열 처리 방식을 고수할 이유는 없는 거 같다.

더군다나 C 스타일 문자열 처리 방식은 조그마한 실수에도 원하는 결과가 나오지 않기 때문에

C++를 사용한다면 string 객체를 사용하는 걸 권장하며

string으로 입력 받는다고 해도 cin을 사용해 입력받을 경우

띄어쓰기가 들어가면 공백 문자 뒤로는 데이터가 잘리기 때문에 getline을 사용하는 걸 권장한다.

 

아래는 getline을 사용해 공백문자가 입력되어도 온전하게 문자열 데이터를 다 입력받을 수 있는 방법이다.

 

#include <iostream>
#include <string>

int main() {

	std::string strA;

	std::getline(std::cin, strA); // <string> 헤더를 꼭 소스에 포함시켜줘야한다.

	std::cout << strA << std::endl;
}

 

 

728x90
Comments