[c++ ] c++ string STL 사용하기

corncheese·2021년 7월 19일
0

c++STL

목록 보기
3/4

문자열 비교하기 | string1.compair(string2)

string string1 = "str";
string string2 = "str1";
string1.compair(string2);
  • 두 문자열이 같을 경우 0을 리턴하고, 다를 경우 -1을 리턴한다.

문자열 조회하기 | string1.find(string2)

#include <string>

string string1 = "str";
int return = string1.find("st");
// return 값은 0
  • find를 사용하기 위해 string을 include 해야 한다.
  • 문자열 뒤에 find를 호출하여 찾았다면 찾은 문자열의 가장 앞의 위치값이 리턴되며 찾지 못했을 경우 -1이 리턴된다.

문자열 길이구하기 | string1.length()

#include <string>

string stringk = "Korea";
string stringk2 = "한국";
cout << stringk.length(); // 5 
cout << stringk2.length(); // 2
  • 알파벳은 대소문자 52개를 0에서 127로 구성된 아스키문자로 표현할 수 있지만 한글은 아스키코드로 표현하지 못한다.
  • 그래서 한글의 문자열의 길이는 2배가 된다.

문자열 대소문자 변환하기 | toupper, tolower

#include <algorithm>

string little = "abc";
strin big = "ABC";

transform(little.begin(), little.end(), little.begin() ,::toupper);
transform(big.begin(), big.end(), big.begin() ,::tolower);
  • transform을 사용하기 위해선 algorithm을 include한다.
    transform(복사할 문자열의 시작점, 종료점, 복사될 문자열의 시작점, 대소문자 변환)

문자열 합치기 | += , append()

string little = "abc";
strin big = "ABC";

litle += big;
little.append(big);
little.append("alpha");
  • append를 사용해 문자열 일부만 추가할 수 있다.
    string.append("abc", 1, 2); // 이경우 bc가 추가된다.

문자열 중간에 문자열 추가하기 | insert(string);

#include <string>

string sentence = "str";
sentence.insert(1, "01");
  • sentence[1] 에 0 / sentence[2]에 1이 추가된다.

문자열 일부 지우기 | string.erase();

string sentence = "onetwothree";

sentence.erase(3,3);
  • string.erase(제거할 문자열 시작점, 제거할 문자 갯수);

0개의 댓글