프로그래밍/C++

C++ 문법 - 문자열 string

게으른구름 2018. 2. 12. 12:03

< String >


문자열을 사용하기 위해 그동안 char 배열을 사용했습니다.


1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main()
{
    char name[20];
    cin >> name;
    cout << "이름 : " << name << endl;
    return 0;
}
cs


언제나 생기는 문제점은 몇 글자가 들어오게 될지 모른다는 것입니다.

20칸 짜리 char 배열을 만들어두었기 때문에 20글자를 넘어가는 이름이 입력된다면 에러가 발생합니다.


이를 해결하기 위해 동적할당을 사용한 적이 있습니다.


더 간단한 해결책으로 같은 원리로 만들어진 string이라는 클래스를 사용할 수 있습니다.

네. 클래스입니다.


#include <string> 으로 string 클래스에 대한 헤더 파일을 포함해 사용합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string name;
    cin >> name;
    cout << "이름 : " << name << endl;
    cout << "길이 : " << name.length() << endl;
 
    name.append(" 추가");
    cout << "append 후 이름 : " << name << endl;
 
    name.insert(2"insert ");
    cout << "insert 후 이름 : " << name << endl;
 
    name.clear();
    cout << "clear 후 이름 : " << name << endl;
}
cs


< string 클래스 메소드 목록 >


- 주로 사용 -


s.length() : 문자열의 길이 반환

s.append(문자열) : 문자열 뒤에 다른 문자열을 추가

s.insert(인덱스, 문자열) : 인덱스부터 문자열 추가

s.clear() : 문자열 초기화 / 비우기


- 모든 메소드 확인 -