간단하게 char 형태의 열을 나타내는 것으로 문자열을 말한다.
이는 다양한 함수를 이용할 수 있다.
int형 같은 다양한 자료형을 선언할 때, 쓰는 것처럼 사용하면 된다.
ex) string a="abcde";
단, 큰 따음표로 입력해야 한다.
string에는 다양한 함수를 지원한다. 그중에 대표적인 것을 보고자한다.
이는 문자열이 비었는지 확인해주는 함수이다.
만약 문자열이 비어있다면 true(1)을 리턴하고, 그렇지 않다면 false(0)을 출력한다.
string a = "abcde";
if(a.empty()){
cout<<"a는 비었습니다.";
}
else{
cout<<"a는 비어있지 않습니다
}
이는 문자열을 잘라주는 함수이다.
num이 시작 index 값이고, 이 index를 기준으로 count 갯수 만큼 잘라준다.
만약 매개변수가 한개만 들어가 있다면 , 그 값은 num을 의미하며, 그 기준으로 뒤를 전부 리턴한다.
string a = "0123456789";
cout << a.substr(2, 3);
cout << "\n";
cout << a.substr(6);
at함수는 간단히 말하면 a[num] 이것과 같다.
a 안에 매개변수로 준 index 값에 해당하는 값을 리턴하는 역할을 한다.
그렇다면 a.at(5) , a[5]의 다른점은 무엇인가?
a.at(5) 는 인덱스 범위를 벗어나면 out of range 예외를 발생시킨다.
하지만 a[5]의 경우 인덱스의 접근은 가능하다. 하지만 그렇다고 값을 읽을 수 있는 것은 아니다.
string a = "0123456789";
cout << a.substr(2, 3);
cout << "\n";
a[12] = 's'; //접근 가능하다. 하지만 오류발생.
cout << a[12];
cout << "\n";
a.at(12) == 's'; //out of range 예외 발생
cout << a.at(12);
이는 문자열의 길이를 출력해주는 함수이다.
string a = "0123456789";
cout << a.size();
cout << a.length();