[ String 클래스 ]
#include <string)
1) 객체 생성
string str; //void 생성자
string addr("서울 강남구"); //문자열 받을 수 있는 생성자
string copy(addr); //string 객체 addr 받을 수 있는 생성자
2) 출력
cout << str;
cout << str << ' ' << addr << ' ' << copy << endl;
3) 동적 생성
string * ptr = new string("C++");
delete ptr;
4) 입력
string name; //홍 길 동
cin >> name;
getline(cin, name, '\n\'); //getline(cin, name); : 널문자 없어도 O
5) 연결
string str1 = "서울";
string str2 = "강남구";
string addr = str1 + str2; //서울 강남구
str1 += str2; //서울 강남구(str1)
str1 += "서울 강남구";
string str1 = "서울";
str1.append(" 강남구"); //서울 강남구
6) 삽입
insert(인덱스, 문자열)
string str = " I Love C++";
str.insert(2, "really"); //I really Love C++
7) 위치 변환
replace(위치, 몇개, "바꿀문자열");
string str = "I Love C++";
str.replace(2, 4, "Study"); //I Study C++
8) 길이 구하기 : length(), size()
string str = "I Love C++";
cout << str.length(); //10; str.size();
9) 지우기
erase(위치, 몇개); //위치부터 n개 지우기
clear(); //모두 지움
string str = "I Love C++";
str.erase(0, 7); //C++
str.clear; //str = ""; 과 같음
10) 문자열 추출
substr(위치, 몇개); //위치부터 n개 추출해오기
substr(위치); //위치부터 끝까지 추출해오기
string str = "I Love C++";
cout << str.substr(2, 4); //Love
cout << str.substr(2 ); //Love C++
11) 문자열 찾기
find(문자열); //문자열 위치 반환, 못찾으면 -1 반환
find(문자열, Pos); //문자열 Pos위치 부터 찾아서 위치를 반환 못찾으면 -1 반환
string str = "I Love C++";
cout << str.find("Love"); //2 반환
cout << str.find("Love", 7); //-1 반환
12) 위치에 해당하는 문자 하나 반환
at(위치); //991014-0
string str = "I Love C++";
cout << str.at(7); //C 반환
★★★ --> stoi() : 문자열을 정수로 변환해주는 함수
string num = "123";
int num1 = stoi(num); //123