C++에서는 STL에서 제공하는 스트링(String) 클래스를 제공한다.
string 클래스는 <string>라이브러리에 포함되어있고 string은 std에 규정되어 있으므로 네임스페이스 std를 추가해주어야 한다.
#include <string> using namespace std;
STL에서 제공해주는 이 string 클래스는 클래스지만 입출력 연산자 <<, >>와 인덱스 []연산자,연결하는 +연산자, ==연산자등 다양한 연산자가 정의되어있어 프로그래머가 일반 변수처럼 사용할 수 있다. 그리고 string은 클래스이기때문에 .empty(), at(i)와 같은 멤버 string 함수 또한 사용할 수 있다.
생성
인자가 없는 생성자,
string str;
const char arrayt인 "hello"를 인자로 가지는 생성자
string str("hello");
다른 스트링 str2를 인자로 가지는 생성자
string str1(str2);
원솟값 접근
i번재 원솟값 접근
str[i];
str.at(i);
n에서 length만큼의 길이를 가지는 string리턴
str.substr(position,length);
할당(assign), 변경
str1에 str2값으로 초기화
str1 = str2;
str1의 뒤에 str2값을 연결
str1 += str2;
str1 = str1 + str2;
str이 비어있으면 true, 아니면 false를 리턴
str.empty();
str1의 뒤에 str2의 값을 연결한 값을 리턴
str1 + str2;
str1의 n부터 str2를 삽입
str1.insert(n,str2);
str1의 n부터 length만큼 제거
str2.remove(n,length);
비교
string에서는 일반 변수처럼 ==, !=로 같음을 비교할 수 있고 <, >, <=, >=로 크기를 비교할 수 있다. (사전적 순서)
찾기
str2의 값이 처음 나오는 str1의 위치를 리턴
str1.find(str2);
str2의 값이 처음 나오는 str1의 위치를 리턴, str1의 n위치부터 시작
str1.find(str2,n);
str2가 존재하면 true 하지않으면 false를 리턴, str1의 n위치부터 시작
str1.find_first_of(str2,n);
str2가 존재하면 false 하지않으면 true를 리턴, str1의 n위치부터 시작
str1.find_first_not_of(str2,n);
string 입출력
string은 일반 변수와 같이 <<, >>연산자를 이용하여 입출력할 수 있다.
str의 값 출력
cout<<str;
str에 값 입력
cin>>str;
'Language, IDE > C, C++' 카테고리의 다른 글
[C++] getline 함수 (0) | 2013.07.03 |
---|---|
[C++] string to char array(c스트링), char array to string (0) | 2013.07.03 |
[C/C++] C/C++에서의 bool (true, false) (0) | 2013.07.03 |
[C/C++] 문자 조작 함수3 (0) | 2013.07.03 |
[C/C++] 문자 조작 함수2 (0) | 2013.07.03 |