본문 바로가기

C++ 자료구조

[c++] 문자열(string)

[char과 string의 차이?]

null 종료 문자열이란 문자열의 을 표기하기 위하여 null을 기록하는 방식이다. char을 사용하면 수기로 '\0'을 붙여주어야 하지만 C++에서는 큰 따움표로 묶어서 나타내는 문자열을 사용하면 null이 자동으로 대입된다.

 

문자열을 비교할 때 크다 작다의 기준은 맨 앞 문자의 사전순에 따라 비교한다.

사전의 앞에 있는 문자가 더 작다.

 

[string 클래스 멤버 함수]

멤버 함수 설명
s[i] i번째 원소, index 범위 체크 x
s.at(i) i번째 원소, index범위 체크 o
s.length(), s.size() 문자열 길이
s.empty() s가 비었으면 true 반환
s.insert(pos, s2) s의 pos 위치에 s2를 삽입
s.find(s2) s에서 문자열 s2가 발견되는 첫 번째 인덱스를 반환
s.find(s2, pos) s의 pos위치 부터 문자열 s2가 발견되는 첫 번째 인덱스를 반환 ( 찾는 문자열이 없는 경우 반환값은 string::npos, -1)
s.push_back('문자') 문자열 맨 뒤에 문자 하나 더하기
s.pop_back() 문자열 맨 뒤에 있는 문자 하나 없애기
s.front() 첫 번째 항목 반환
s.back 마지막 항목 반환
s.substr(pos, n) s의 pos위치에서부터 n개의 문자를 리턴
clear() 문자열을 비워줌
to_string(정수) int => string
stoi(문자열) string => int
swap(str1, str2) 문자열 2개 바꾸기
s.erase(정수...) 매개변수 1개 - 문자열 인덱스 정수번 부터 끝까지 삭제
매개변수 2개 - 문자열 인덱스 정수번 부터 정수길이만큼 삭제

 

 

[참고]

cin.ignore()

- 입력 버퍼를 비워주는 함수

- cin 다음 입력을 getline으로 받을 경우 사용해야함

'C++ 자료구조' 카테고리의 다른 글

[c++] vector  (0) 2024.03.26
[c++] 배열  (0) 2024.03.25
[c++] 제어 구조와 함수  (0) 2024.03.19
[c++] c++의 기본 개념  (0) 2024.03.05
[c++] 자료구조와 알고리즘  (0) 2024.03.04