Language/C++

[C++] STL String 사용법 및 예제

0so0 2023. 8. 15. 07:00
728x90
반응형
SMALL

C++ STL중 하나인 String 사용법에 대한 정리(+예제)

String

C++ 표준 라이브러리(Standard Template Library)로 string(문자열)을 다루는 클래스
  • C언어의 char*, char[] 처럼 문자열  끝에 '\0' 이 없음
  • 문자열 길이 동적으로 변경 가능

 

String 선언

#include <string>

string s; // 빈 문자열 s 생성

string s = "hello"; // hello로 초기화된 s 생성

 

String 멤버함수

  • 원소 접근
s[i]; // s의 i번째 원소 참조

s.at[i]; // s의 i번째 원소 참조 (유효 범휘 체크 O)

s.front(); // s의 첫번째 원소 참조
s.back(); // s의 마지막 원소 참조
  • 삽입/삭제
string s

// s.push_back(데이터) -> 맨 끝 문자 삽입
s.push_back('a');
s.push_back('b');

// s.pop_back() -> 맨 끝 문자 삭제
s.pop_back();

s.append(str); // s 뒤에 str append

//s.append(str, n, m) // s 뒤에 str의 n번째 부터 m개의 문자 까지 append
s.append("abcde", 1, 3); // s 뒤에 bcd append

s.replace(n, k, str) // n번째 index부터 k개의 문자를 str로 대체

// s.insert(위치, 데이터) -> 원하는 위치에 데이터 삽입
s.insert(n, str); //n번째 index 앞에 str 문자열 삽입

s.erase(n, m); // n번째 index부터 m개의 문자를 지움
s.clear(); // 문자열 모두 제거
  • 크기
s.length(); // 문자열의 길이 반환
s.size();   // 문자열의 길이 반환
s.capacity(); // 문자열이 사용중인 메모리 크기 반환
  • 기타 함수
 s.find(str); // str이 s에 포함되어있는지 찾고, 해당 index 반환
 s.find(str, n); // n번째 index부터 str 찾기
 
 s.substr(n); // s의 n번째 index부터 끝까지를 부분문자열로 반환
 s.substr(n, k); //	s의 n번째 index부터 k개의 문자를 부분문자열로 반환
 s.compare(str); //	s와 str이 같은지 비교하여 같으면 0, s <str2 이면 -1 , s > str 이면 -1 반환
 swap(s, str); // s와 str swap
 
 toupper(c)	c 문자를 대문자로 변환
 tolower(c)	c 문자를 소문자로 변환

 

728x90
반응형
LIST