String 라이브러리
라이브러리 선언
#include <string>
size()
size() 함수는 해당 문장열의 사이즈 반환
#include <iostream>
#include <string>
using namespace std;
int main(){
string s = "Test";
cout << s.size() << '\n';// 4 반환
}
*length()함수 역시 size() 함수와 동일한 기능을 가집니다.
capacity()
문자열 객체에 할당된 메모리 크기 반환
*size에 비해 추가될 내용을 대비히 넉넉하게 할당됩니다.
#include <iostream>
#include <string>
using namespace std;
int main(){
string s = "Test";
cout << s.capacity() << '\n';// 15 반환
}
resize()
문자열 객체를 n만큼의 크기로 만듭니다.
원래 크기가 n보다 크다면 남은 부분은 버림
n보다 작다면 남은 공간을 빈공간으로 채움
#include <iostream>
#include <string>
using namespace std;
int main(){
string s = "Test";
cout << s << '\n';// Test
unsigned sz = s.size();
s.resize(sz+2,'+');
cout << s << '\n';// Test++
s.resize(3);
cout << s << '\n';// Tes
}
clear()
string 객체에 있는 문자열을 지우는 함수
*size, length는 모두 0이 되고 capacity는 그대로 유지
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Test";
s.clear();
cout << s.size() << '\n';// 0
}
empty()
문자열 객체가 비어있는지 확인해 주는 함수
bool 타입으 반환
at()
해당 인덱스 문자 반환
front(), back()
문자열의 가장 앞과 뒤를 반환
substr(index, len)
문자열의 index부터 len만큼 잘라서 반환
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Test string";
cout << s.substr() << '\n';//Test string
cout << s.substr(3) << '\n';//t string
cout << s.substr(3, 3) << '\n';//t s
}
replace(s, len, str)
문자열(s)의 인덱스위치에서 len까지 범위를 str로 대체
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Test string";
string s2 = "good";
cout << s.replace(3,2,s2) << '\n';//Tesgoodstring
}
compare()
매개변수로 들어온 문자열과 비교해서 같으면 0반환, 다르면 -1 반환
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Test string";
string s2 = "good";
string s3 = "good";
cout << s.compare(s2) << '\n';//-1
cout << s.compare(s3) << '\n';//-1
cout << s2.compare(s3) << '\n';//0
}
copy(char* arr, len, index = 0)
문자열을 arr에 index부터 len 길이만큼 복사
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Test string";
string s2 = "good";
char c[11];
s.copy(c, 3, 5);
for (int i = 0; i < 3; i++)
cout << c[i];
//str
}
find(string str, index = 0)
매개변수로 들어온 문자열과 비교하려는 문자열 중에 일치하는게 있는지 확인
일치하는게 있다면 첫번째 발견 인덱스 반환
index 값부터 있는지 확인, 없다면 쓰레기 값반환
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "Test string";
cout<< s.find("es")<<'\n';//1
cout << s.find("es", 2) << '\n';//쓰레기 값 반환
}
begin()
문자열의 첫번째 문자를 가리키는 반복자(iterator) 반환
end()
문자의 마지막의 바로 다음 문자를 가리키는 반복자(iterator) 반환
swap(s1, s2)
s1 문자열과 s2 문자열을 바꾸는 것
append()
문자열 끝에 더함
assign()
문자열을 할당하는 함수
s.assign("abc"); // s = "abc"
s.assign(2, "a"); // s = "aa"
s.assign(s,1, 2); // s = "bc" , 문자열 s의 인덱스 1부터 2개 복사
insert(index, string s)
문자열을 지정한 위치에 삽입하는 함수
erase(index, num)
문자열을 지우는 함수(인덱스부터 num개의 문자를 지움)
to_string(num)
숫자형을 string타입으로 변환(char형 숫자(48~57)이면 아스키코드로 반환)
stoi(str)
문자열을 숫자로 반환
int to char
숫자를 아스키코드를 통해 문자로 반환
#include <iostream>
#include <string>
using namespace std;
int main() {
int num = 65;
cout << (char)num << '\n';// A
}
*A~Z(65~95), a~z(97~122), 0~9(48~57)
toupper(char), tolower(char)
해당 문자를 대문자, 소문자로 변환
*알파벳이 아니라면 입력된 매개변수가 반환됩니다.
'👨🏫Study > C++' 카테고리의 다른 글
[C++] 병합(Merge Sort) (0) | 2021.09.24 |
---|---|
[C++] set 라이브러리 (0) | 2021.08.22 |
[C++] 10 - 클래스(Class) (0) | 2021.08.11 |
[C++] 09 - 배열, 다차원 벡터, 문자열 (0) | 2021.08.06 |
[C++] 08 - 포인터, 벡터 활용 예시 (0) | 2021.08.06 |
댓글