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(문자열)

업데이트: