728x90
반응형
3. String 클래스
- 문자 배열 보다 쉽고 편하게 문자열을 저장하는 방법
- string 헤더 파일 추가해야 한다
- 문자열을 하나의 데이터형처럼 취급할 수 있다.
char charr1[20];
char charr2[20] = "jaguar";
기존의 문자 배열 -> 배열의 크기를 정해줘야 하며, 선언과 동시에 초기화 한다. 또한, 배열간 대입도 불가
string str1;
string str2 = "panther";
string 객체 -> 단순한 변수로 선언, 배열의 크기는 알아서 정해주고, 배열 대입도 가능
- String의 결합
string str3;
str3 = str1 + str2;
str1 += str2;
- string 객체의 편리함 ( 대입 , 추가, 첨부 )
string s1 = "penguin";
string s2, s3;
s2 = s1;
s3 = s1 + s2;
s1 += s2;
s2 += "for a day";
str1 = str2;
strcpy(charr1, charr2);
str1 +="paste";
strcat(charr1, "juice");
int len1 = str1.size();
int len2 = strlen(charr1);
str1.size() -> 객체.클래스 메서드
strlen(charr1) -> C스타일 함수
- 비교
//string
str3 = str1 + str2;
//문자 배열
strcpy(charr3, charr1);
strcat(charr3, charr2);
- 행 단위 입력
char charr[20];
string str;
strlen(charr);
str size();
cin.getline(charr, 20);
getline(cin, str);
->초기화 되지 않은 배열의 내용은 정의되지 않는다. [크기가 20이 아니라 엉뚱한 수가 나온다]
->strlen() 함수는 \0까지의 바이트를 카운트한다.
->초기화 되지 않은 string 객체는 크기가 0이다.
->cin.getline(charr, 20); -> 한 행을 읽어 배열 안에 넣는 코드(getline은 클래스 매서드)
->getline(cin, str); -> 한 행을 읽어 string 객체 안에 넣는 코드
- 다른 형태의 문자열 상수
- w_char
- char_16
- char_32
728x90
반응형
'Programming > C++ 2' 카테고리의 다른 글
[C++] 4장. 복합 데이터형 - (5) 공용체와 (6) 열거체 (0) | 2021.03.27 |
---|---|
[C++] 4장. 복합 데이터형 - (4) 구조체 (0) | 2021.03.27 |
[C++] 4장. 복합 데이터형 - (2) 문자열 (0) | 2021.03.27 |
[C++] 4장. 복합 데이터형 - (1) 배열 (0) | 2021.03.27 |
[C++] 4장. 복합데이터형 개요 (0) | 2021.03.27 |