C++ 6.string 클래스
title: “C++ 6.string 클래스” categories:
-
CspecialCharspecialChar
#C++ 6.string 클래스 : 네이버 블로그
슬램덩크<리바운드를 제압하는="" 자가="" 시합을="" 제압한다="">리바운드를>
시험의 단골인 문자열
배열 비롯해 배운 다양한 부분들을 응용 할 수 있습니다
C++에서는 string 클래스가 추가되었습니다
C++표준 라이브러리에서 제공하고, 문자열을 객체로 다룹니다
즉 C에서는 C스트링을 사용했다면 C++에서는 string 클래스를 사용합니다
string클래스를 사용하기 위해서는
#include
using namesapce std; 라는 코드가 필요합니다
string은 클래스이기 때문에 string을 사용해 문자열을 생성 할 때는 객체가 생성됩니다
즉 문자열은 객체가 됩니다
string 객체의 생성은
string 객체이름; 식으로 할 수 있습니다
초기화는
string 객체이름(“문자열”); 의 형식으로 합니다
string 객체의 출력은 cout을 통해 출력됩니다
cout « 객체이름;
C언어에 비해 매우 간편합니다
전 포스팅의 객체 동적 생성처럼
string도 객체이므로 동적으로 생성 할 수 있습니다
string *p = new string(“문자열”); //동적 string 객체 할당
cout « *p; //p의 메모리의 내용 출력
delete p; //동적 메모리 반환
string 객체에 문자열을 입력하는 방법은 cin과 getline이 있습니다
cin은 공백 문자(띄어쓰기)를 읽을 수 없으므로 한 문장을 읽고 엔터시 입력하려면
string 헤더 파일에 선언된 getline()함수를 사용하면 됩니다
getline(cin,str,’\n)
getline의 형식입니다
cin 명령어로 받은 문자를 ‘wn’까지 입력된 문자열을 str에 저장합니다
즉 한 줄을 치고 엔터를 누르면 \n이 입력되므로 그 전의 문자열을 str에 입력하게 됩니다
string같은 경우에는 다양한 맴버 함수들이 있습니다
그 중 자주 쓰이는 함수를 알아보자면
str1.append(str2);
str2의 문자열을 str1의 뒤에 추가합니다
str.size();
str의 길이를 리턴합니다
str.length()와 같은 기능입니다
str.clear();
str문자열을 모두 삭제합니다, 크기는 0이 됩니다
swap(str1,str2);
str1과 str2를 서로 바꿉니다
str2=str1.substr(2,5);
str1의 인덱스 2(str[2])에서 5개의 문자 리턴
연산자는 s1+s2를 하면 s1과 s2가 연결된다… 요것만 알면 s1>=s2와 같이 공통적인 부분이니 패스하겠습니다
아래에 string클래스의 함수들을 정리했습니다
a.size() | a의 사이즈를 리턴 | |
a.lenght() | a의 사이즈를 리턴 | |
a.c_str() | a를 C언어 문자열 리턴 | |
a.data() | a의 데이터 리턴 | |
a.assign() | 문자열을 할당 | a.assign(문자열) |
a.append() | 문자열을 끝에 더한다 | a.append(문자열); |
a.clear | a 문자열의 내용을 삭제 | |
a.compare() | a 와b의 문자열을 사전식으로 비교. a==b면 0. a>b면 양수,a<0이면 음수를 반환 | a.compare(b문자열) |
a.empty() | a문자열이 비었는지 확인 | |
a.erase() | a의 문자열을 지정위치,개수로 지운다 | a.erase(지정위치,갯수) |
a.find() | 문자열을 지정된 위치부터 찾고 문자의 시작위치를 반환 | a,find(문자또는문자열,지정위치생략시처음부터찾음) |
a.replace() | 문자열의 지정위치와 대체하는 수만큼 대체 | a.replace(지정위치,문자갯수,문자열) |
a.insert() | 문자열을 지정위치에 삽입 | a.insert(지정위치,문자열) |
a.pop_back() | a문자열의 마지막 문자를 뺀다 | |
a.push_back() | a문자열의 마지막 문자에 문자를 추가한다 | a.push_back(문자) |
a.substr() | 문자열의 지정된 위치를 반환 | a.substr(지정위치,갯수) |
a.swap() | 문자열 변수를 입력받고 문자열을 서로 바꾼다 | a.swap(문자열) |