c++ string 테크닉 정리
개요
다른 언어들과 다르게 c++의 string은 다양한 기능들이 있고 또 split처럼 아예 없는 기능들도 있다. 코딩테스트를 위해 필요한 부분들을 정리해봐야겠다.
Split
c++에서 string은 split기능이 없다. 따라서 다음과 같이 함수를 만들어 놓는 것이 좋다.
sstream을 include 해주어야 한다.
// 사실상 input을 stream으로 만들어 getline으로 끊어준 방법이다.
#include <sstream>
vector<string> split(string input, char delimiter){
vector<string> ans;
stringstream ss(input);
string temp;
while(getline(ss, temp, delimiter)){
ans.push_back(temp);
}
return ans;
}
substr
string을 원하는 부분만큼 짜른 부분은 return하는 string의 내장함수이다.
string.substr(시작 위치 index, 이후 몇개를 가져올 것인지 = 끝까지)
// 즉 index부터 시작하여 이후 몇개를 가져올 지에 대한 함수이다.
// 두번째 parameter의 default값은 string의 끝까지 다이다
string str = "abcde";
str.substr(1,2); // bc 가져옴
str.substr(1); //bcde가져옴
to_string
숫자나 모든 다른 type을 string으로 바꿔줌
int number = 1234;
string tmp = to_string(number); /// tmp 는 "1234"가 됌
erase
문자열을 지워주는 함수. 사실상 substr이랑 paramter내부는 ㄴ같다
string.erase(시작 위치 index, 이후 몇개를 삭제할지 = 끝까지);
// 첫번째 index부터 얼마나 문자열을 지울지에대한 함수이다.
transform
문자열 내부에 소문자나 대문자를 바꿔줌
// str내부에 소문자들을 다 대문자로 바꿔줌
transform(str.begin(), str.end(), ::toupper);
//str내부에 대문자들을 다 소문자로 바꿔줌
transform(str.begin(), str.end(), ::tolower);
Author And Source
이 문제에 관하여(c++ string 테크닉 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gomster_96/c-string-테크닉-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)