string
C++에서 문자열을 다루는 방법 2가지
- C-스트링
- string 클래스
C스트링은 C언어에서 사용해오던 전통적인 문자열, '\0' 으로 끝나는 문자 배열을 문자열로 취급하는 방법
string은 C++ 표준 라이브러리에서 제공하는 클래스, 문자열을 객체로 다룸
string 클래스를 사용하기 위해서는,
#include <string>
using namespace std;
위의 코드가 필요합니다.
C-스트링은 초기에 할당 받은 메모리 크기 이상의 문자열을 저장할 수 없기 때문에, 개발자의 프로그램 작성에 어려움.
string 클래스는 문자열의 크기에 맞추어 스스로 메모리 크기를 조절하므로 매우 편리함!
다양한 string 객체의 사용
string str; // 문자열 초기화
string name("King");
string newName(name);
string *pStr = new string("C++"); // 동적 생성
delete pStr; // 반환
name.append("Piggy"); // 문자열 잇기
name = name + " Love";
getline(cin, name); // 문자열 입력받기
cout << name << endl; //문자열 출력하기
자주 쓰는 함수
string& insert(int pos, string&str) : 문자열의 pos 위치에 str 삽입
string& replace(int pos, int n, string& str) : 문자열의 pos 위치부터 n개의 문자를 str 문자열로 대체
int size() : 문자열의 길이 리턴
int length() : 문자열의 길이 리턴
bool empty() : 문자열의 크기그 0이면 true, 아니면 false 리턴
char& at(int pos) : pos 위치의 문자 리턴
int find(string& str) : 문자열의 처음부터 str을 검색하여 발견한 처음 인덱스 리턴, 없으면 -1 리턴
int find(string& str, int pos) : 문자열의 pos 위치부터 str을 검색하여 발견한 처음 인덱스 리턴, 없으면 -1 리턴
int compare(string& str) : 문자열과 str을 비교하여 같으면 0, 사전 순으로 현재 문자열이 앞에 오면 음수, 뒤면 양수 리턴
string substr(int pos, int n) : pos 위치부터 n개 문자를 새로운 서브스트링으로 생성, 리턴
void(string& str1, string& str2) : str1과 str2 교환
void clear() : 문자열 비우기
stoi : 문자열을 숫자로 바꿈
유용하셨다면 공감 버튼 ↓ 눌러주세요!
'# Language > C++' 카테고리의 다른 글
[C++] char, char*, char& 비교 (0) | 2019.01.21 |
---|---|
[C++] 참조 (0) | 2019.01.20 |
[C++] 값에 의한 호출, 참조에 의한 호출, 주소에 의한 호출 (0) | 2019.01.20 |
[C++] this 포인터 (0) | 2019.01.15 |
[C++] 메모리 누수 (memory leak) (0) | 2019.01.15 |
[C++] 동적 메모리 할당, 반환 ( new, delete 연산자) (0) | 2019.01.15 |
[C++] 객체 배열 (0) | 2019.01.15 |