Nagie's DevStory
[CPP] 12. 문자열 입력받기 본문
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