C++의 클래스
- 다양한 문자열 메소드를 제공하는 STL
c_strI()
,length()
,copy()
,compare()
,begin()
,end()
, operator + 등 지원- C언어의
char *
문자열과 달리, 문자열 끝에 '\0' 과 같은 null이 들어가 있지 않음
string 객체 생성 방법
// 방법 1
string str1("Hello");
// 방법 2
string str1;
str1 = "Hello";
// 방법 3
string str2(str1);
string 문자열 입력 받기 (cin vs getline)
- cin : 공백 문자 만나면 입력 받기 종료 ("Hello World"에서 "Hello" 까지만 입력받음)
- getline() : 공백 포함 한 줄 모두 입력받음. (에 정의된 cin의 멤버함수)
string 클래스의 c_str() 메소드
- C++ 스타일의 string 문자열을 C 스타일의 문자열로 변경해주는 함수 (출력 시)
- string type -> char type
- 맨 끝에 null ('\0') 포함
C : 문자열을 배열에 저장하고, 마지막에 문자열의 끝이라는 신호로 널문자 삽입됨. 따라서 배열 사이즈가 실제 문자열 사이즈보다 1이 큼.
- c_str() 사용 이유 : atoi() 함수 사용할 때와 같이 매개변수 타입이 string 타입이 아닌 char 타입(c 스타일) 일 때!
'[ 언어 및 문법 ] > C, C++' 카테고리의 다른 글
[C++, OpenCV] Convert Arr2Mat, Mat2Arr / 16bit(short) to 8bit(unsigned char) / CV_type (0) | 2022.08.14 |
---|---|
[C++] 2차원 배열 동적 할당, 해제, 초기화 (0) | 2022.08.14 |
[C++] 전방 선언 (Forward Declaration) (0) | 2022.08.14 |
[C++] 정적 변수(Static) vs 전역 변수(Global) , const (0) | 2022.08.14 |
[C++] 포인터, 주소연산자(&), 배열, 동적할당, 자료형 + vs 참조형 변수(&) (0) | 2022.08.13 |