본문 바로가기
Algorithm

[C++] String 클래스 (알아두면 유용한 함수들)

by 루시킴 2021. 9. 9.

C++의 std::string 클래스(문자열)에 대해 알아보자.

 

1. front() / back()

문자열의 맨 앞이나 맨 뒤를 출력하는 함수이다.

	string s = "hi this is lucy";
	cout << s.front() << endl; //'h'
	cout << s.back() << endl;  //'y'

2. substr()

문자열의 원하는 부분을 부분추출 해주는 함수이다. 매개변수에 따라 사용법이 다르다.

substr(시작 인덱스) //시작 인덱스부터 끝까지 문자열 추출

substr(시작인덱스, n ) //시작 인덱스부터 n개의 문자열을 추출

string str1 = "hi there there";
	cout << str1.substr(3) << endl; //"there"
	cout << str1.substr(0, 2) << endl; //"hi"

3. find()

특정 문자열의 위치를 찾아 시작 인덱스를 반환해주는 함수이다.

find(찾고 싶은 문자열)

find(문자열,n ) //n번째 인덱스부터 해당 문자열을 찾음 

찾지못하면 string::npos반환

	string str1 = "hi there there";
	cout << str1.find("there") << endl; //3
	cout << str1.find("there", 8) << endl; //9

4. replace()

지정한 문자열의 index위치에서 특정 길이만큼을 매개변수로 들어온 문자열로 대체 하는 함수이다.
replace(대체할 str의 첫 위치, 바꾸고 싶은 길이, 대체할 str)

string str2 = "see you tomorrow lucy";
	str2.replace(str2.find("tomorrow"), 8, "sunday"); //"see you sunday lucy"
	cout << str2 << endl;

5. push_back(), pop()

새로운 문자를 맨 뒤에 추가하거나 맨뒤 문자를 제거하는 함수이다.

	string str3 = "abc";
	str3.push_back('d');
	cout << str3 << endl; //"abcd"
	str3.pop_back();
	cout << str3 << endl; //"abc"

6. swap()

두개의 문자열을 교환하는 함수이다.

	string str4 = "four";
	string str5 = "five";
	swap(str4, str5);
	cout << str4 << " " << str5 << endl; //five four

7. stoi()

String을 int로 바꿔주는 함수이다.

	string str6 = "6543";
	int n = stoi(str6);
	cout << n << endl; //6543

 

댓글